반응형

코테 64

[파이썬, Python] 백준 2579: 계단 오르기

문제 https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 코드 n = int(input()) score = [0 for _ in range(n+1)] stair = [0 for _ in range(n+1)] for i in range(1, n+1): stair[i] = int(input()) score[1] = stair[1] for i in range(2, n+1): if i == 2: score[i] = score[1] + stair[2] elif i ==..

[파이썬, Python] 백준 9461: 파도반 수열

문제 https://www.acmicpc.net/problem/9461 9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net 코드 li = [0 for i in range(101)] li[1],li[2],li[3] = 1, 1, 1 for i in range(4, 101): li[i] = li[i-2] + li[i-3] t = int(input()) for _ in range(t): n = int(input()) print(li[n]) 설명 다이나믹 프로그래밍으로 규칙을 찾아서 구현을 하는 문제이다. 4번째 삼각형부터,..

[파이썬, Python] 백준 4153: 직각삼각형

문제 https://www.acmicpc.net/problem/4153 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net 코드 while True: nums = list(map(int, input().split())) if sum(nums) == 0: break max_num = max(nums) nums.remove(max(nums)) if nums[0]**2 + nums[1]**2 == max_num**2: print("right") else: print("wrong") 설명 직각 삼각형의 변의 길이는 피타고라스의 정리를 이..

[파이썬, Python] 백준 3009: 네 번째 점

문제 https://www.acmicpc.net/problem/3009 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net 코드 x_list = [] y_list = [] for i in range(3): a, b = map(int, input().split()) x_list.append(a) y_list.append(b) for i in range(3): if x_list.count(x_list[i]) == 1: x = x_list[i] if y_list.count(y_list[i]) == 1: y = y_list[i] print(x, y) 설명 나머지 한 점의 좌표는 입력 받은 각각의 x,..

[파이썬, Python] 백준 1085: 직사각형에서 탈출

문제 https://www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램 www.acmicpc.net 코드 x, y, w, h = map(int, input().split()) print(min([x, y, w-x, h-y])) 설명 한수가 지금 x, y에 위치하므로 직사각형의 경계선까지 가는 최단 거리는 가장 가까운 변까지의 일직선 거리다. 이를 구하기 위해 [x, y, w-x, h-y]의 값 중에 최솟값을 출력하면 된다. 즉, 밑변과 양 옆 변까지의 길이 중 최솟값을 ..

[파이썬, Python] 백준 10816: 숫자 카드 2

문제 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 코드 import sys input = sys.stdin.readline n = input() card_list = list(map(int,input().split())) m = input() num_list = list(map(int,input().split())) cnt = {} for i in card_list: if i in cnt: cnt[i] +=..

[파이썬, Python] 백준 1620: 나는야 포켓몬 마스터 이다솜

문제 https://www.acmicpc.net/problem/1620 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net 코드 import sys input = sys.stdin.readline n, m = map(int, input().split()) poke_list = {} for i in range(1, n+1): poke = input().rstrip() poke_list[i] = poke poke_list[poke] = i for _ in range(m): q = inpu..

[파이썬, Python] 백준 10815: 숫자 카드

문제 https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 코드 n = int(input()) a_list = list(map(int, input().split())) a_list = set(a_list) m = int(input()) num_list = list(map(int, input().split())) for i in num_list: if i in a_list: print(1) else: print(0) 설명..

[파이썬, Python] 백준 1436: 영화감독 숌

문제 https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net 코드 import sys input = sys.stdin.readline n = int(input()) first_num = 666 while n != 0: if '666' in str(first_num): n -= 1 if n == 0: break first_num += 1 print(first_num) 설명 우선 n과 첫 종말의 수인 666을 입력 받아준다. 반복문을 실행하면서 특정 조..

[파이썬, Python] 백준 1018: 체스판 다시 칠하기

문제 https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 코드 import sys input = sys.stdin.readline n, m = map(int, input().split()) origin = [] cnt = [] for _ in range(n): origin.append(input()) for a in range(n-7): for b in range(m-7): index1 = 0 index2 = 0 for i in range(..

반응형