본문 바로가기
728x90

IT/Python3

[구현] 이코테 구현 상하좌우 문제 이코테 110쪽 참고 내 풀이 n = int(input()) x = 1 # x 초기값 설정 y = 1 # y 초기값 설정 command = list(map(str, input().split())) # 명령 리스트 for i in command: if xn or yn: # x나 y가 범위 밖이면 반복문 탈출 break else: if i == 'L': y -= 1 elif i == 'R': y += 1 elif i == 'U': x -= 1 elif i == 'D': x += 1 print(x, y) 다 못 풀었다. 내 코드대로 하면 0 4가 출력된다. (답은 3 4) 명령에 따랐을 때, 공간 밖을 벗어나면 그 명령을 하면 안 되는데 내 코드에서는 그 명령을 하고나서 범위 밖이면 탈출하도록 설계되었다.. 2023. 10. 1.
[Greedy] 이코테 그리디 숫자 카드 게임 문제 이코테 96쪽 내 풀이 # n: 행 개수, m: 열 개수 n, m = map(int, input().split()) min_list = [] for i in range(n): data = list(map(int, input().split())) # 각 행을 리스트로 만듦 min_list.append(min(data)) # 각 행의 최솟값만 담은 리스트 print(max(min_list)) # 최솟값 중 가장 큰 수 출력 각 행에서 최솟값을 뽑고, 그 중 가장 큰 수를 출력하면 된다고 생각함 그래서 각 행을 리스트로 만들고, 각 행의 최솟값만 담은 리스트를 또 만들고, 그 리스트의 최댓값을 출력 교재 풀이(1) min() 함수를 이용하는 답안 예시 # n, m을 공백으로 구분하여 입력받기 n, m =.. 2023. 10. 1.
[Greedy] 이코테 그리디 큰 수의 법칙 문제 배열의 크기 N, 숫자가 더해지는 횟수 M, 그리고 K가 주어질 때 동빈이의 큰 수의 법칙에 따른 결과를 출력 단순하게 푸는 답안 # n, m, k를 공백으로 구분하여 입력하기 # n: 배열 크기 # m: 숫자 더하는 횟수 # k: 연속으로 더할 수 있는 횟수 n, m, k = map(int, input().split()) # N개의 수를 공백으로 구분하여 입력받고 리스트 안에 넣기 data = list(map(int, input().split())) data.sort() # 입력 받은 수를 (오름차순) 정렬하기 first = data[n-1] # 가장 큰 수 second = data[n-2] # 두 번째로 큰 수 # result: 큰 수의 법칙에 따라 더한 결과 result = 0 while Tr.. 2023. 10. 1.
728x90