728x90
반응형

브론즈1 7

[파이썬] BOJ_10448(유레카 이론)

문제 https://www.acmicpc.net/problem/10448 10448번: 유레카 이론 프로그램은 표준입력을 사용한다. 테스트케이스의 개수는 입력의 첫 번째 줄에 주어진다. 각 테스트케이스는 한 줄에 자연수 K (3 ≤ K ≤ 1,000)가 하나씩 포함되어있는 T개의 라인으로 구성되어 www.acmicpc.net 해설 triangle 리스트에 삼각수를 1000을 넘지 않는 삼각수를 구해 미리 넣어놓고 그 중 3개의 합으로 구성된 수를 찾으면 된다. 코드 -파이썬 #백준 10448(유레카 이론) import sys input = sys.stdin.readline triangle = [n*(n+1)//2 for n in range(1, 46)] #45번째 삼각수 == 1035 eureka = [..

알고리즘/백준 2023.06.24

[파이썬] BOJ_2810(컵홀더)

문제 https://www.acmicpc.net/problem/2810 2810번: 컵홀더 첫째 줄에 좌석의 수 N이 주어진다. (1 ≤ N ≤ 50) 둘째 줄에는 좌석의 정보가 주어진다. www.acmicpc.net 해설 SLLLLSSLL을 나눠서 보면 S / LL / LL / S / S / LL로 나눌 수 있다. S는 한 좌석에 컵홀더 1개, L은 두 좌석에 컵홀더 1개. 그렇다면 * / S* / LL* / LL* / S* / S* / LL* 로 표현할 수 있다. 결국 S는 1개당 컵홀더 1개 더해주면 되고, L은 L//2개당 컵홀더 1개를 더해주면 된다. 가장 왼쪽의 첫번째 컵홀더도 빼먹으면 안된다. 총 컵홀더의 개수를 구하고 나면 컵홀더와 사람 수 둘 중 작은 값을 출력해주면 된다. 문제에서 물어..

알고리즘/백준 2023.06.09

[파이썬, 자바] BOJ_11050(이항 계수 1)

문제 www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 해설 이항 계수 구하는 법은 n! / k!(n - k)! 인데 예시를 들어보면(n = 10, k = 4) 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 / 4 * 3 * 2 * 1 * 6 * 5 * 4 * 3 * 2 * 1 이다. 결국 (n - k)! 만큼은 다 날라간다. 남은 부분만큼만 구해주면 된다. 위처럼 직접 계산하지 말고 math.factorial을 사용하는 법도 있다. 코드 -파이썬 #백준 11050(이항 계수 1) from math import ..

알고리즘/백준 2021.03.21

[파이썬, 자바] BOJ_9625(BABBA)

문제 www.acmicpc.net/problem/9625 9625번: BABBA 상근이는 길을 걷다가 신기한 기계를 발견했다. 기계는 매우 매우 큰 화면과 버튼 하나로 이루어져 있다. 기계를 발견했을 때, 화면에는 A만 표시되어져 있었다. 버튼을 누르니 글자가 B로 변했 www.acmicpc.net 해설 처음에 풀 때... B -> BA -> BAB -> BABBA -> BABBAB -> BABBABBA 이렇게 계속 생겨나는 건 줄 알고 풀었다..ㅎ 다시 제대로 문제를 읽어보니 B -> BA로 A -> B로 바뀌는 거였다. 규칙을 정리해보면 A는 이전 B의 개수를 따라가고 B는 이전 A + B의 개수를 따라가는 것을 알 수 있다. 결국 규칙을 한 번 손으로 정리만 해보면 쉽게 풀 수 있는 문제였다. 코드..

알고리즘/백준 2021.03.15

[파이썬, 자바] BOJ_15904(UCPC는 무엇의 약자일까?)

문제 https://www.acmicpc.net/problem/15904 15904번: UCPC는 무엇의 약자일까? 첫 번째 줄에 알파벳 대소문자, 공백으로 구성된 문자열이 주어진다. 문자열의 길이는 최대 1,000자이다. 문자열의 맨 앞과 맨 끝에 공백이 있는 경우는 없고, 공백이 연속해서 2번 이상 주어지는 www.acmicpc.net 해설 입력받은 문자열을 "UCPC"로 축약할 수 있는지 묻는 문제이기 때문에 U, C, P, C를 각각 리스트에 넣어놓고 for문을 돌려서 살펴보면 될 것 같다. 처음엔 해당 문자의 위치를 파악하는 코드 없이 + 반복문의 범위를 word의 길이로 진행했었는데 이렇게 하면 U, C, P, C의 순서가 뒤죽박죽 되고, UCPC로 끝나지 않고 뒤에 U, C, P, C가 또 ..

알고리즘/백준 2021.01.21

[파이썬, 자바] BOJ_1459(걷기)

문제 https://www.acmicpc.net/problem/1459 1459번: 걷기 세준이는 학교에서 집으로 가려고 한다. 도시의 크기는 무한대이고, 도시의 세로 도로는 모든 정수 x좌표마다 있고, 가로 도로는 모든 정수 y좌표마다 있다. 세준이는 현재 (0, 0)에 있다. 그리고 ( www.acmicpc.net 해설 첫번째 풀이 평행 시간(w) * 2와 대각선 시간(s)을 비교를 해서 풀었다. -> (0, 0)에서 (1, 1)까지 처럼 똑같은 곳까지 가는데 걸리는 시간을 판단하기 위해 평행 이동을 했을 때와 대각선 이동을 했을 때를 비교하기 위해서이다. 1) 2 * w = s (대각선이 더 빠를 때) 2 - 1) x + y가 짝수일 때 2 - 2) ..

알고리즘/백준 2021.01.20
728x90
반응형