목록코딩테스트 (25)
0과 1 사이
https://www.acmicpc.net/problem/15988 15988번: 1, 2, 3 더하기 3 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다. www.acmicpc.net 첫 코드 t = int(input()) n = [] for _ in range(t): n.append(int(input())) max_n = max(n) result = [0] * (max_n+1) result[1] = 1 result[2] = 2 result[3] = 4 for i in range(4, max_n+1): result[i] = result[i-1] + result[i-2] + result[i-3] for i in range(t): ..
https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 내 코드.. 실패 ㅜ import math from itertools import product n = int(input()) a = list(map(int, input().split())) plus, minus, multiple, divide = map(int, input().split()) result = [] pro = list(prod..
https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 음.. 다이나믹 프로그래밍인데 삽질을 좀 했다. 일단 내 코드부터 올려본다. n = int(input()) tp = [] #이차원 배열로 삽입 for _ in range(n): t,p = map(int, input().split()) tp.append([t,p]) result = [0] * n count = 1 if tp[0][0] > count: result[0] = 0 else: result[0] = tp[0][1] for i in range(1, n): count += 1 available = [] for j in range(i..
나의 답안 풀면서도 왠지 모를 찜찜함이 있었다.. 이것이 과연 max 답안일까? n = int(input()) k = list(map(int, input().split())) max_answer = 0 for i in range(len(k)): answer = 0 answer += k[i] for j in range(i+2,len(k),2): answer += k[j] max_answer = max(answer, max_answer) print(max_answer) 입력 예시에는 올바른 답이 출력됐지만 더많은 테스트 케이스가 있으면 틀릴 거라는 생각이 들었다. 지금 보고 있는데 그 말이 맞는듯.. 이문제는 다이나믹 프로그래밍 문제이기 때문에, 문제를 작은 문제로 쪼개고 결과 값을 미리 저장해둔 다음 그 ..
이전에 풀었던 뱀 문제를 복습하려고 풀어봤다. 이번에는 예전 문제를 복습하는 거라 어렵지 않게 풀수있었다. 그런데, 맵의 외곽이 항상 바다로 구성되어 있기 때문에 캐릭터가 밖으로 떨어지지 못한다. 이 부분을 알고 있었다면 조금 더 쉽게 풀 수 있었을 것 같다. n, m = map(int, input().split()) x, y, d = map(int, input().split()) game_map = [] for _ in range(n): game_map.append(list(map(int, input().split()))) dx = [0, 1, 0, -1] dy = [-1, 0, 1, 0] visit = [] def rotate(d): if d == 0: return 3 else: return d-1 ..
https://programmers.co.kr/learn/courses/30/lessons/60059 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 내가 작성한 코드 def rotate(key): #90도 회전 return key def isopen(key, lock): #맞는지 안맞는지 return def solution(key, lock): n = len(lock) m = len(key) new_lock = [[0 for _ in range(m+2*n)] for _ in range(m+2*n)] #i = m-1 #j = m-1 #new_lock[i][j..
https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 아주 어려운 문제였다.. ㅠㅠ 일단 이해하지 못한 포인트가 있었다. 자기자신의 몸과 부딪히면 게임이 끝난다는데, 무슨 말이지..? 그리고 뱀의 길이가 늘어나는 것을 어떻게 처리해야하나 고민스러웠다. 아직 이해하지 못했으나 일단 내가 작성한 코드만 올려본다. 내가 짠 코드 def new_direction(original_direct, change_direct, i, j): #원래 방향과 회전 방향에 따라 ..
https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 모든 스테이지에 대한 실패율을 계산하고 각 번호를 실패율의 내림차순으로 정렬하는 문제이다 실패율까지 잘 계산했는데... 그러나 실패율의 내림차순으로 리스트를 출력하는 방법을 잘 모르겠더라. 원래 코드 def solution(N, stages): rate_list = [] #실패율 리스트 stages.sort() #오름차순 정렬 for i in range(1,N+..