본문 바로가기

코딩테스트43

[python 구름] Stack 📜 접근 방법 push와 pop을 기준으로 나눈다. push일 경우 stack의 크기 k와 현재 stack의 크기를 비교하여 다 찼으면 Overflow 출력 아닐 경우 값을 넣는다 pop일 경우 stack의 크기가 0일 경우 Underflow 출력 아닐 경우 pop을 한다. ❌ 실패 코드 ✅ 정답 코드 import sys input = sys.stdin.readline n, k = map(int, input().split()) stack = [] for _ in range(n): command = list(input().split()) if command[0] == 'push': if len(stack) == k: print('Overflow') else: stack.append(command[1]) e.. 2023. 5. 15.
[python 구름] 개미와 진딧물 📜 접근 방법 개미와 진드기의 위치를 저장한다. 개미의 갯수를 저장한다. 개미의 저장 위치와 진드기의 저장 위치를 기준으로 맨해튼 거리로 m이하인지 확인한다. (개미 한마리를 기준으로 전체 진드기의 위치 중 가장 가까운 것만 변수에 넣어둔다.) 맨해튼 거리로 m 초과라면 개미의 갯수 - 1 을 한다. ❌ 실패 코드 리스트 전체를 받아서 맨해튼 거리를 계산하려니까 너무 많은 시간을 소요했다. ✅ 정답 코드 import sys input = sys.stdin.readline n, m = map(int, input().split()) ants, aphids = [], [] for i in range(n): ground = list(map(int, input().split())) for j in range(n).. 2023. 5. 14.
[python 구름] 제곱 암호 입력된 문자열을 가지고 암호화를 하는 문제이다. 📜 접근 방법 문자열의 갯수만큼 반복한다. 문자 다음 수를 제곱시킨다. 아스키 코드를 이용하여 암호화를 시킨다 ❌ 실패 코드 만약 change_c가 ord('z')보다 두배 이상 클 경우 값이 다르게 나오는 것을 생각못했다. import sys input = sys.stdin.readline n = int(input()) user_input = input() res = '' i = 0 while i ord('z'): change_c -= ord('z') change_c +.. 2023. 5. 13.
[python 구름] 폭탄 구현하기 📜 접근 방법 인접하는 좌표 즉, 상하좌우를 계산하는 배열을 만든다 (dx, dy) 리스트로 현재 주어진 땅덩어리?를 만든다 ground 주어지는 값이 k 만큼이므로 k번 반복한다. 입력 받은 x, y에 대해 ground[x][y] 위치에 + 1 해준다. 상하좌우를 확인하여 유효할 경우 +1을 해준다. ground에 주어진 숫자들을 더한다. ❌ 실패 코드 x와 y에 -1씩 해주는 것을 처음에 하지 않았다. ✅ 정답 코드 # from pprint import pprint import sys input = sys.stdin.readline # 상하좌우 dx = [0, 1, 0, -1] dy = [1, 0, -1, 0] n, k = map(int, input().split()) ground = [([0] * .. 2023. 5. 11.