코딩테스트 4

그래프 탐색 문제(경로 탐색)

N×M 크기의 게임판이 있습니다.자동차 미니 게임은 장난감 자동차를 게임판에서 주행하는 게임입니다.미니 게임에서 자동차가 주행하는 방법은 다음과 같습니다.게임판은 칸마다 0에서 9까지의 숫자가 적혀있습니다. 자동차는 한 번에 각 칸에 적힌 숫자만큼 전부를 이동하며 ↑, ↓, ←, → 방향 중 하나를 골라 움직일 수 있습니다.자동차가 다음으로 움직일 칸이 게임판 밖으로 나가거나 '0'이 적힌 칸인 경우 게임은 종료됩니다.왼쪽 위 (0,0)은 자동차의 출발지이며, 이 칸에 적힌 숫자는 0이 될 수 없습니다.미니 게임판을 줬을 때 자동차가 출발 전, 정차할 칸이 가장 많은 경로를 정합니다.게임이 종료될 때까지 정차한 칸의 개수를 출력하는 프로그램을 작성하세요.출발 칸도 정차한 칸의 개수에 포함합니다. 지시사항..

코딩테스트 2024.09.29

모스부호(피보나치 수열)

모스부호는 2가지 신호인 짧은 발신 전류(1)와 긴 발신 전류(00)를 조합해 만듭니다.만들 수 있는 모스부호의 최대 길이를 줬을 때 두 가지 신호를 적절히 사용해 문자를 만들려고 합니다.이것의 경우의 수를 출력하는 프로그램을 작성하세요.예를 들어, 신호의 최대 길이가 4일 때는 0011, 0000, 1001, 1100, 1111을 만들 수 있으므로 경우의 수는 5입니다. 지시사항입력첫 번째 줄에 모스부호의 최대 길이인 자연수 N을 입력합니다.(1≤N≤1000000)출력첫 번째 줄에 만들 수 있는 모스부호의 경우의 수를 15,746으로 나눈 나머지를 출력합니다. 입력예시4출력예시5 문제의 입력값과 출력값을 쭉 적어보니, 피보나치수열이었다.피보나치수열을 리스트로 구현해본 적이 있어서 이번에도 그렇게 해 보..

코딩테스트 2024.09.29

각 팀이 이기고 있는 시간 계산하기

A,B팀이 축구 경기를 90분간 합니다.이 경기에서 양 팀 합쳐 N개의 득점이 났다고 합니다.각 득점 시간을 줬을 때 각 팀이 이기고 있는 시간을 출력하는 프로그램을 작성하세요. 지시사항입력- 첫번째 줄에 전체 득점 횟수 N을 입력합니다.(1- 두 번째 줄부터 득점한 팀과 시간을 한 줄씩 N번 입력합니다.- A팀 득점 시 1, B팀 득점 시 2를 입력합니다.- 득점한 시간은 MM:SS(분:초) 형식이며, 분과 초가 한 자리일 경우 0M:0S로 입력합니다.- 득점한 시간은 90분을 초과하지 않으며, 다른 득점시간과 중복되지 않습니다.출력- 첫 번째 줄에 A팀이 이기고 있던 시간을 출력합니다.- 두 번째 줄에 B팀이 이기고 있던 시간을 출력합니다.- 시간의 출력 형식은 입력 형식과 동일합니다.- 동점 시간은..

코딩테스트 2024.09.29

피보나치수 개수 확인문제

지시사항입력- 첫번째 줄에 구간의 범위를 나타내는 자연수 a,b를 입력받는다.1 출력첫번째 줄에 구간 [a,b]의 수 중에서 피보나치 수의 개수를 출력합니다. 입력예시2 7 출력예시3  처음에는 아래와 같은 코드를 작성했다.a,b=map(int, input().split())num={1:1, 2:2}lst=[]count=0for i in range(a,b+1): lst.append(i) # [2,3,4,5,6]if 1 in lst: count+=1if 2 in lst: count+=1for n in range(3,b): num[n]=num[n-1]+num[n-2] if num[n] in lst: count+=1 elif num[n]>b: break..

코딩테스트 2024.09.28