문제 요약 나의 코드 및 설명 t : 테스트케이스 입력 s : 문자열을 리스트에 저장 recursion(s,l,r) : 문자열 s의 인덱스 l의 값과 인덱스 r의 값을 비교한다. 이 때, l이 1씩 증가, r이 1씩 감소 될 때 문자열의 문자를 비교한다. l이 r보다 크거나 같아지는 경우(팰린드롬일 경우) 1을 리턴, 그렇지 않을 경우 0을 리턴한다. 전역변수인 count에 접근하기 위해 global 키워드로 변수를 재선언 하였다. recursion() 함수가 동작할 때 마다 count 값이 1씩 증가하도록 작성하였다. t = int(input()) s = [] for i in range(t): s.append(input()) def recursion(s,l,r): global count count+=1..
문제 요약 준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) 첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다. 나의 코드 및 설명 (맞았습니다!!) n : 동전 개수 / k : 목표 금액 coin_types 리스트를 생성하고 둘째 줄부터 입력한 동전의 가치가 리스트에 저장되도록 작..
나의 코드 및 설명 (틀렸습니다) n, m : 세로, 가로 크기 저장 a, b, d : 캐릭터의 위치 a, b / 캐릭터가 바라보는 방향 d 저장 direction : 동, 서, 남, 북 리스트 생성 da, db : 캐릭터 움직임 리스트 생성 gameMap : 맵이 육지인지 바다인지에 대한 정보를 저장하기 위한 리스트 생성 count : 캐릭터가 방문한 칸의 수 newA, newB : 이동한 후 캐릭터의 좌표 n, m = map(int, input().split()) a, b, d = map(int, input().split()) # 2, 2,0 direction = [0,1,2,3] da = [0,-1,0,1] db = [-1,0,1,0] count = 0 gameMap = [] for _ in ran..
문제 요약 8X8 좌표 평면상에서 나이트의 위치가 주어졌을 때 나이트가 이동할 수 있는 경우의 수를 출력하는 프로그램을 작성하시오. 이 때 왕실의 정원에서 행 위치를 표현할 때는 1부터 8로 표현하며, 열 위치를 표현할 때는 a부터 h로 표현된다. 나의 코드 및 설명 (맞았습니다!!) location : 나이트의 위치를 입력 a1을 입력했을 때 ['a', '1'] 처럼 리스트에 담게끔 작성하였다. location_num : 나이트의 위치를 숫자화하여 리스트에 저장하기 위해 작성 a일 때 1, b일 때 2,, 처럼 표현하기 위함이다. move_type : 나이트가 움직일 수 있는 모든 위치를 A부터 H로 표현하였다. dx : 행의 움직임을 나타낸다. dy : 열의 움직임을 나타낸다. nx, ny : 움직임..
문제 요약 정수 N을 입력하면 00시 00분 00초로부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 구하는 프로그램을 작성하시오. 나의 코드 및 설명 (틀렸습니다) 교재의 코드 및 설명 h : 시간 입력 3중 for문 사용 시,분,초를 문자열 자료형으로 바꾸어 합치고, 3이 해당 문자열에 포함되는지 확인한다. h = int(input()) ## h시 59분 59초 count = 0 for i in range(h+1): for j in range(60): for k in range(60): #시,분,초를 문자열 자료형으로 바꾸어 합치고 3이 해당 문자열에 포함되는지 확인한다. if '3' in (str(i) + str(j) + str(k)): count += 1 p..