BOJ 10757번: 큰 수 A+B
반복문의 조건문 안에 strlen을 넣지 마세요.https://djm03178.tistory.com/8(추가 예정)
[C] BOJ 9933번: 민균이의 비밀번호
BOJ 1268번: 임시 반장 정하기 문제 오민식 선생님은 올해 형택초등학교 6학년 1반 담임을 맡게 되었다. 오민식 선생님은 우선 임시로 반장을 정하고 학생들이 서로 친숙해진 후에 정식으로 선거를 통해 반장을 선출하려고 한다. 그는 자기반 학생 중에서 1학년부터
행복이는 길이가 $N$인 수열 $A$에서 소수들을 골라 최소공배수를 구해보려고 한다.
어떤 단어를 뒤에서부터 읽어도 똑같다면 그 단어를 팰린드롬이라고 한다. 'radar', 'sees'는 팰린드롬이다.
두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.
나코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다.재현이는 재민이를 도와서 돈을 관리하는 중인데, 애석하게도 항상 정신없는 재현이는 돈을 실수로 잘못 부르는 사고를 치기 일쑤였다.재현이는 잘못된 수를 부를 때마다 0을 외쳐서, 가장 최근에 재민
1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을
한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.첫째 줄에 x, y, w, h가 주어진다.첫째 줄
어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.첫째 줄부터 N개의 줄에 오름
여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 쌓여서 FIFO - First In First Out - 에 따라 인쇄가 되게
666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4,
집에서 시간을 보내던 오영식은 박성원의 부름을 받고 급히 달려왔다. 박성원이 캠프 때 쓸 N개의 랜선을 만들어야 하는데 너무 바빠서 영식이에게 도움을 청했다.이미 오영식은 자체적으로 K개의 랜선을 가지고 있다. 그러나 K개의 랜선은 길이가 제각각이다. 박성원은 랜선을
일직선 상의 마을에 여러 채의 집이 위치해 있다. 이중에서 특정 위치의 집에 특별히 한 개의 안테나를 설치하기로 결정했다. 효율성을 위해 안테나로부터 모든 집까지의 거리의 총 합이 최소가 되도록 설치하려고 한다. 이 때 안테나는 집이 위치한 곳에만 설치할 수 있고, 논
다음과 같은 규칙에 따라 수들을 만들려고 한다.첫 번째 수로 양의 정수가 주어진다.두 번째 수는 양의 정수 중에서 하나를 선택한다.세 번째부터 이후에 나오는 모든 수는 앞의 앞의 수에서 앞의 수를 빼서 만든다. 예를 들어, 세 번째 수는 첫 번째 수에서 두 번째 수를
첫 번째 줄에 이름의 길이 N과 M을 받는다. (2 ≤ N, M ≤ 100)다음 줄에 이름 A와 B를 입력받는다. 이름은 반드시 알파벳 대문자만 주어진다.A와 B의 이름궁합이 좋을 확률을 %로 출력한다. 단, 십의 자리가 0일 경우엔 일의 자리만 출력한다.
표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 점들의 개수를 나타내는 정수 N이 주어 진다. 다음 N개의 줄 각각에는 점의 좌표와 색깔을 나타내는 두 정수 x와 y가 주어진다.표준 출력으로 모든 점에서 시작하는 화살표들의 길이 합을 출력한다.업로드중..정렬 후
동전게임은 주로 두 사람이 함께 즐기는 게임이다. 이 중 3-동전게임은 여러 명이 할 수 있는 게임이다. 각 사람은 각각 3-동전수열 중 하나를 선택한다. 3-동전수열이란 앞 뒤 앞과 같은 수열이고, 8가지(뒤뒤뒤,뒤뒤앞,뒤앞뒤,뒤앞앞,앞뒤뒤,앞뒤앞,앞앞뒤,앞앞앞)가
첫째 줄에는 격자의 크기를 나타내는 M (2 ≤ M ≤ 1,000) 과 N (2 ≤ N ≤ 1,000) 이 주어진다. M줄에 걸쳐서, N개의 0 또는 1 이 공백 없이 주어진다. 0은 전류가 잘 통하는 흰색, 1은 전류가 통하지 않는 검은색 격자임을 뜻한다.바깥에서
로마 숫자에서는 수를 나타내기 위해서 I, V, X, L을 사용한다. 각 문자는 1, 5, 10, 50을 의미하고, 이 문제에서 다른 문자는 사용하지 않는다.하나 또는 그 이상의 문자를 이용해서 수를 나타낼 수 있다. 문자열이 나타내는 값은, 각 문자가 의미하는 수를
첫째 줄에 N이 주어진다. (1 ≤ N ≤ 2,000) 둘째 줄에 각 병사의 전투력이 공백을 기준으로 구분되어 차례대로 주어진다. 각 병사의 전투력은 10,000,000보다 작거나 같은 자연수이다.첫째 줄에 남아있는 병사의 수가 최대가 되도록 하기 위해서 열외해야 하는
채팅 기록 중 곰곰티콘이 사용된 횟수를 출력하시오.다음 ENTER가 입력되기 전까지의 닉네임 기록에서의 서로 다른 닉네임의 개수를 저장하는 과정을 반복해 최종 답을 구한다.ENTER가 입력될 때마다(새로운 사람이 들어올 때마다) ans에 기존의 s의 크기를 더한 후 s
서브태스크 문제였다.표준 출력으로 모든 점에서 시작하는 화살표들의 길이 합을 출력한다.최종 답을 출력하는 ans를 int형 변수로 정의하면 21점에서 멈춘다.마지막 4번이 시간 초과가 뜬다.
DFS 방법으로 모든 경우의 수를 검사하면서 최댓값을 저장한다백트래킹이란? (= 퇴각검색): 해를 찾는 도중 해가 아니면 되돌아가서 다시 찾는 기법
그리드 알고리즘 사용사과가 떨어질 때마다,시작보다 앞에 있으면 그만큼 이동끝보다 뒤에 있으면 그만큼 이동
이게 왜 힌트야 푸하하 🦊🦊🦊🦊🦊https://jaimemin.tistory.com/929위 사이트를 참고했다.버퍼를 비우는 것이 중요한 문제...getline : 원하는 구분자(delimiter)를 만날 때 까지 모든 문자열을 입력 받아 하나의 st
참고한 사이트 : https://winterflower.tistory.com/218stoi로 문자열 시간을 int로 변환개강총회 전이면 first에 저장개강총회 이후 스트리밍 끝나기(포함)까지 채팅 기록 확인
스파이들은 사령부와 통신하기 위해서 SMTP(비밀 메시지 전송 프로토콜)를 사용해 비밀 회선으로 전자 메시지를 보낸다. 메시지가 적들에 의해 조작되어 보내진 것이 아닌 진짜 메시지라는 것을 표시하기 위해 모든 메시지는 회선에 노이즈가 있었거나 발신 측에서 손을 떨면서
입력 데이터는 표준 입력을 사용한다. 입력은 1개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 과목의 수강 가능 인원 K(1 ≤ K ≤ 100,000)와 학생들이 버튼을 클릭한 순서를 기록한 대기목록의 길이 L(1 ≤ L ≤ 500,000)이 주어진다. 두 번째
참고 사이트 : https://aerimforest.tistory.com/205
홀수와 짝수가 인접한 경우가 최대 1번 등장하도록. 0은 짝수"짝수는 왼쪽 홀수는 오른쪽" or "홀수는 왼쪽 짝수는 오른쪽"짝수가 나올때마다 그 전에 나온 홀수의 개수를 답에 더해주기답이 int의 범위를 넘어갈 수 있다는 것에 주의한다. (50점)
도깨비말은 언어 유희 중 하나로, 글자를 특정 법칙에 따라 재구성하는 것을 말한다.영어권에서는 피그라틴어라는 것이 있다. 주로 어린이들이 많이 쓰는 데, 남들에게 무슨 말인지 모르게 하기 위해 종종 쓴다. 여기엔 규칙이 있는데, 맨 앞글자가 모음이 아닐때 까지 맨 앞
BOJ 13270번: 피보나치 치킨 문제 문제 풀이 > DP 사용!
참고 사이트: https://rebas.kr/814처음에는 DFS로 푸는 건줄 알았는데 풀이에서는 BFS라고 한다. 조건에 맞게 BFS를 돌리는 문제라고 하는데 이해가 될까말까 하는 중... 다시 봐야겠다.
순위를 재는 방법을 헷갈려서 이해하는데 시간이 조금 걸렸다.처음에는 벡터의 insert() 함수를 사용해 맞는 위치에 번호를 끼워넣는 방법으로 풀려고 했었는데 이런저런 오류들이 계속 나오고 맞왜틀 상태만 지속되는 바람에 결국에는 배열로 어거지로 풀었다.최대 크기 만큼
무작정 뺑뺑이를 돌리는 방법이다.1\. 이중 for문을 돌려서 차례대로 같은 숫자들을 바꿔준다.2\. 1번의 방법으로 변화가 생긴 숫자들 중에서도 중복이 있을 수 있으므로 while문으로 이중 for문을 감싸 다시 돌려준다.3\. 이중 for문에서 변화가 없다는 것은
문제를 보자마자 생각난 풀이는 당연히 바로 하나씩 누적해가면서 최선의 값을 찾는 것이었다. 하지만 해당 문제의 경우에는 입력 값의 범위가 넓어서 일일이 누적해서 찾는 것을 최대 200,000번 반복하다보면 어마어마한 시간이 걸린다. (당연히 시간초과가 남)배열을 그냥
홀수인 경우에는 똑같이 쌍을 만들다 남은 숫자를 가장 앞에 둔다.벡터에 값을 받아 오름차순으로 정렬한다.쌍에서 앞은 무조건 0이 됨으로, 가장 뒤의 수(큰 값) - 가장 앞의 수(작은 값)을 구해 답에 누적시킨다.가장 앞의 수를 더한 값이 답이 된다.이걸 어떻게 생각해
연산자 개수를 사용하지 않았는데 이게 맞나..숫자가 나오면 스택에 차곡차곡 저장한다.연산자가 나오면 prev에 연산자를 저장해놓고 그 때 스택에 저장해둔 숫자들을 차례대로 꺼내 자릿수를 올려가며 하나의 숫자를 만든다.다음 연산자가 나왔을 때 또 숫자를 만들고, 총 두
vector에 차례대로 삽입한 후 오름차순 정렬을 한다.이분탐색으로 찾고 존재하면 가장 먼저 나타나는 위치를 찾아야 한다.가장 먼저 나타나는 위치를 for문으로 풀어서 시간 초과가 났을 것이다.
알파벳 w, o, l, f의 배열을 만들어놓고 각 알파벳의 개수를 구한다. 그 후에는 개수가 모두 똑같이 있는지 검사한다.과정 속에서 wolf의 순서가 잘 맞는지 검사한다.이게 진짜 풀이인가..? 약간 모든 경우의 수를 다 끼워서 넣은 것 같은 그런 느낌이다. 근데 다
어려운 문제가 아닌데 함정이 이곳저곳 있었다.받은 두 날짜를 일 수로 변환해 저장한다.뺄셈한 후 사이에 존재하는 윤년의 개수만큼 더해준다.디데이가 1000년 이상이면 gg를 아니면 디데이를 출력한다.윤년 조건문과 1000년에서 애를 먹었었다.윤년의 조건은 다음과 같다.
덱에 넣기가장 앞의 수가 1이면 (2) 수행 (front가 0이면 계속 pop_front() 수행)아니면 가장 1의 자리 수 없애기 (1의 자리 - 1)번 (1) 수행하고 (2) 한번 수행위 과정을 한 자리 수만 남을 때까지 반복마지막 수만큼 횟수 증가하고 출력이렇게
참고 사이트:https://velog.io/@jkh9615/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%B0%B1%EC%A4%80-15991-1-2-3-%EB%8D%94%ED%95%98%EA%B8%B0-6-Java문제 이해를 다시
ti 시간에 xi에 서있으려면 시작해야 하는 지점: ti-xi 지점key: ti-xi value: 누적 c
1 00 1위와 같은 경우가 있으면 NO업로드중..
BOJ 13702번: 이상한 술집 문제 문제 풀이 - 맞왜틀 ㅜ
브루트포스 알고리즘오름차순으로 정렬나무의 길이를 1부터 가장 마지막 요소(최댓값)까지로 정해 탐색해 비용을 구한다.버는 비용 보다 자르는 비용이 더 크면(손해이면) 추가하지 않는다.최댓값을 구해 답을 찾는다.
BOJ 1421번: 나무꾼 이다솜 문제 문제 풀이
left에서의 한 t에 대해 +500이 존재하고 +1000 과 +1500이 right에 존재하는지 검사있으면 지나간 횟수를 증가시킨다.
셔플 규칙에 써있는 숫자로 카드 위치를 옮겨줌업로드중..
문자열을 p의 개수만큼 옆으로 옮겨가며 검사시간 복잡도 구하는 거 너무 어렵다어떻게 하는 거지 왜 시간 초과지
오름차순 정렬하고 앞에서부터(작은 수부터) 번갈아 양쪽에 넣어주기0은 맨 앞으로 가면 안 됨swap() 함수를 새로 알았다 temp 안 써도 되고 아주 좋군
역순으로 탐색하면서 현재의 값의 배수면서 이전값보다 큰 수를 찾는다참고 블로그: https://eazymean.tistory.com/281
신장 트리란?n개의 정점을 모두 연결할 수 있는 n-1개의 간선으로 이루어짐트리 탐색이래서 먼저 BFS와 DFS 생각을 했다.BFS 탐색을 먼저 해봤는데 색을 변경하는게 도저히 안 돼서 DFS로 다시 생각해봤다.0번을 w, b로 시작하는 두 가지 경우가 있음DFS 하면
입력 방법이 숫자 한 개씩 주고 있기 때문에 int 형으로 받기 보단 string을 이용해서 차례차례 더해 숫자를 완성시켰다.첫번째(가장 큰 자리) 숫자가 올바른 범위에 들어가면 숫자를 완성시켜 완전한 숫자를 비교해 카운트를 증가시킨다.숫자 하나하나를 따로 또 따로 다
BOJ 9549번: 암호화된 비밀번호 문제 출력 각 테스트 케이스마다, 원래의 비밀번호를 문제에서 설명한 알고리즘대로 암호화했을 때 주어진 결과물이 나올 수 있다면 YES를, 그렇지 않다면 NO를 출력한다. 문제 풀이 슬라이딩 윈도우 알고리즘 > BOJ 12
참고 사이트: https://littlesam95.tistory.com/entry/BOJSilver-1-%EB%B0%B1%EC%A4%80-27737-%EB%B2%84%EC%84%AF-%EB%86%8D%EC%9E%A5C
참고 사이트:https://velog.io/@kohyeonseo1006/C-%EB%B0%B1%EC%A4%80-26169-%EC%84%B8-%EB%B2%88-%EC%9D%B4%EB%82%B4%EC%97%90-%EC%82%AC%EA%B3%BC%EB%A5%BC-%E
기존의 피보나치 수열과 절댓값이 같지만 짝수인 경우 음수 부호가 추가됨
사용 알고리즘: Hash Map반복문을 통해 약의 효능(key)과 이름(value)을 med(hash map)에 저장한다.각 줄의 증상의 개수만큼 입력 받으면서 med에 등록된 효능이라면 배열에 약의 이름을 저장해준다.저장되지 않은 효능이 나오면 flag에 false값
왜 이렇게 하면 안되는 거지?