코딩테스트

백준 오답노트/기본 수학1

백준 - 기본 수학1 2775번 부녀회장이 될테야 / 구글로 해결

문제 평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다. 이 아파트에 거주를 하려면 조건이 있는데, “a층의 b호에 살려면 자신의 아래(a-1)층의 1호부터 b호까지 사람들의 수의 합만큼 사람들을 데려와 살아야 한다” 는 계약 조항을 꼭 지키고 들어와야 한다. 아파트에 비어있는 집은 없고 모든 거주민들이 이 계약 조건을 지키고 왔다고 가정했을 때, 주어지는 양의 정수 k와 n에 대해 k층에 n호에는 몇 명이 살고 있는지 출력하라. 단, 아파트에는 0층부터 있고 각층에는 1호부터 있으며, 0층의 i호에는 i명이 산다. 입력 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 ..

백준 오답노트/기본 수학1

백준 - 기본 수학1 1193번 분수찾기 /구글로 해결

문제 무한히 큰 배열에 다음과 같이 분수들이 적혀있다. 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … … 3/1 3/2 3/3 … … … 4/1 4/2 … … … … 5/1 … … … … … … … … … … … 이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자. X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. 출력 첫째 줄에 분수를 출력한다. 기본 수학1이 정말 어렵다 브론즈 문제에 정답률도 높은데 접근을 못하겠다... = 틀린 이유 = 블로그, 유튜브 등 이해하기 위해서 몇..

백준 오답노트/기본 수학1

백준 - 기본 수학1 2869번 달팽이는 올라가고 싶다 / 구글로 해결

문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) 출력 첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다. 예제 입력 1 복사 2 1 5 예제 출력 1 복사 4 예제 입력 2 복사 5 1 6 예제 출력 2 복사 2 예제 입력 3 복사 100 99 1000000000 예제 출력 3 복사 99999990..

백준 오답노트/기본 수학1

백준 - 기본 수학1 2292번 벌집 / 구글로 해결

문제 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. 입력 첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다. 출력 입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다. 예제 입력 1 복사 13 예제 출력 1 복사 3 이 문제에 대한 접근 자체를 하지 못했다. 처음에 규칙을 찾으려고 엄청 노력했었는데 규칙..

백준 오답노트/정렬

백준 - 정렬 18870번 좌표 압축 / 문제 이해 못함 + 설명

문제 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌표 압축을 적용한 결과 X'1, X'2, ..., X'N를 출력해보자. 입력 첫째 줄에 N이 주어진다. 둘째 줄에는 공백 한 칸으로 구분된 X1, X2, ..., XN이 주어진다. 출력 첫째 줄에 X'1, X'2, ..., X'N을 공백 한 칸으로 구분해서 출력한다. 제한 1 ≤ N ≤ 1,000,000 -109 ≤ Xi ≤ 109 예제 입력 1 복사 5 2 4 -10 4 -9 예제 출력 1 복사 2 3 0 3 1 예제 입력 2 복사 6 1000 999 1000 ..

백준 오답노트/문자열

백준 - 문자열 10809 리팩토링, 시야 넓히기

= 문제 = = 처음 내가 해결한 방법 = = 리팩토링 = = 접근 = 이렇게 간단한 방법으로 해결할 수 있다고는 전혀 생각하지 못했다. 브론즈5 문제였음에도 불구하고 내가 맨 처음 시도한 방법으로 해결하는데 한 시간 정도 시도했다 다른 사람들의 코드를 보는게 왜 중요한지 깨달았다. 시야가 확실히 넓어진다. 26개의 배열값을 -1로 초기화하고 알파벳의 아스키코드를 이용해서 내가 원하는 인덱스에 원하는 값을 넣는다는 생각을 다른 사람의 풀이 과정을 보지 않았다면 평생 몰랐을 것 같다. 좋은 방법들을 새로 배워가면서 더 성장하자.

초보병일이
'코딩테스트' 태그의 글 목록 (6 Page)