본문 바로가기

분류 전체보기740

[백준 27959] 초코바 [Python] 풀이 단순히 초코바 구매가 가능한지 아닌지만 판별하면 되기 때문에 100N이 M 이상인지만 알 수 있으면 된다. 소스코드 소스코드 보기 출처 2023. 4. 17.
[백준 5525] IOIOI [Python] 풀이 입력으로 주어진 문자열 S 안에 2N + 1길이의 Pn이 겹침을 허용해서 몇 개 존재하는지 찾으면 되는 문제다. 최대 길이 M에 대한 Pn의 길이는 (100만 - 1) 이기 때문에, 아래처럼 모든 구간에서의 Pn을 구하면 시간초과가 발생한다. N = 2, M = 15, S = IOIOIOIOIOIOIOI 일 때, IOIOI IOIOI IOIOI ... 처럼 매번 2N + 1 길이만큼의 문자열이 주어진 문제의 조건을 만족시키는지 확인하면 시간초과가 발생할 것이다. 때문에, 이미 조건을 만족시키는 문자열을 다시 확인하지 않고 풀이하는 방법이 필요하다. 먼저, 올바른 Pn이 만들어지는 조건을 살펴보자 Pn은 'I' 부터 시작한다. 문자열 S의 M - 1 번째가 'I' 아니면, Pn은 만들어지지 않는다. .. 2023. 4. 15.
[백준 1992] 쿼드트리 [Python] 풀이 처음에 주어진 입력이 모두 0이거나 1일 경우 '0' 또는 '1'이 정답이 되지만, 위의 경우가 아닌 경우 사분면을 'Z' 순서대로 살펴보며 주어진 영역에 대해 모두 하나의 값이 존재할 때까지 recursive call 방식으로 풀이하면 된다. 문제에서 주어진 예제를 살펴보자. 색 (빨 - 주 - 연) 순서대로 분할할 것이며, 색상별 동그라미는 각 분할 시점의 기준 좌표가 된다. 기준좌표에 recursive를 거쳐 줄어든 크기(size)만큼의 영역에 대해 다시 탐색을 시도해 나가며 풀이하면 된다. 참고로 입력의 제한 중 다음과 같은 조건이 있기 때문에 "N은 언제나 2의 제곱수로 주어지며" recursive할 영역을 무조건 2로 나누어 범위를 재설정하면 된다. 소스코드 소스코드 보기 출처 1992번.. 2023. 4. 14.
[백준 20833] Kuber [Python] 풀이 1부터 N까지 각 수의 3제곱으로 이루어진 합을 구하면 된다. 소스코드 소스코드 보기 출처 20833번: Kuber Nadja klistrar ihop små träkuber med sidlängd 1 till större kompakta kuber. Hon har nu bestämt sig för att hon vill ha en kub av varje sidlängd från 1 till N. Hur många småkuber behöver Nadja? www.acmicpc.net 2023. 4. 13.
[백준 9782] Median [Python] 풀이 주어지는 데이터의 개수가 0일 때까지, 데이터 개수의 홀짝 여부에 맞게 데이터들의 중앙값을 출력해주면 된다. 문제에서 구해야 하는 중앙값은 아래의 조건에 따라 구할 수 있다. n이 홀수인 경우, 중앙값은 (n+1)/2의 위치에 있는 데이터이다. n이 짝수인 경우 중앙값은 n/2 와 (n/2)+1 위치에 있는 데이터의 평균값이다. 배열의 인덱스가 0부터 시작한다는 점과 주어진 형식에 맞게 출력해야 한다는 점을 유의해 문제를 풀자. 소스코드 소스코드 보기 출처 9782번: Median ค่ามัธยฐาน หรือ Median คือค่ากึ่งกลางของกลุ่มข้อมูลที่เรียงลําดับ นั่นคือจํานวนข้อมูลที่น้อย www.acmicpc.net 2023. 4. 12.
[백준 27110] 특식 배부 [Python] 풀이 종류별로 치킨을 최대 N 마리를 살 수 있으며, 종류별로 치킨을 선호하는 인원이 A, B, C이므로 종류별로 최대치와 대소 비교를 통해 알맞은 수량을 출력해주면 된다. 소스코드 소스코드 보기 출처 27110번: 특식 배부 설날을 맞아 부대원들을 위해 특식으로 치킨을 주문했다. 후라이드 치킨, 간장치킨, 양념치킨을 각각 $N$마리씩 주문했고, $1$인당 치킨을 한 마리씩 배부하고자 한다. 최대한 많은 부대원에게 본 www.acmicpc.net 2023. 4. 12.