1. 문제 출처 https://www.acmicpc.net/problem/18406 18406번: 럭키 스트레이트 첫째 줄에 점수 N이 정수로 주어진다. (10 ≤ N ≤ 99,999,999) 단, 점수 N의 자릿수는 항상 짝수 형태로만 주어진다. www.acmicpc.net 2. 풀이 N = input() nums = [] for num in N: nums.append(int(num)) left = sum(nums[:int(len(nums)/2)]) right = sum(nums[int(len(nums)/2):]) if left == right: print("LUCKY") else: print("READY")
1. 문제 출처 https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 2. 풀이 몸의 좌표 배열은 머리가 앞에서 추가되고 꼬리는 뒤에서 빠져야 하기 때문에 자료 구조를 덱으로 생각하고 사용 하였고방향 전환 배열은 먼저 추가한 데이터를 먼저 빼서 사용해야 하기 때문에 큐 라고 생각 하고 사용 하였다. # 필요한 변수 선언 및 초기화 size = int(input()) apple_num = int(input()) apple_list = [] body = [[0..
1. 문제 출처 https://www.acmicpc.net/problem/4889 4889번: 안정적인 문자열 입력은 여러 개의 데이터 세트로 이루어져 있다. 각 데이터 세트는 한 줄로 이루어져 있다. 줄에는 여는 괄호와 닫는 괄호만으로 이루어진 문자열이 주어진다. 문자열의 길이가 2000을 넘는 경우 www.acmicpc.net 2. 풀이 "{"이 먼저 나와야 "}"과 짝을 지을 수 있기 때문에 "{"을 스텍에 집어 넣고 "}"이 나올 때마다 하나씩 꺼내었고, 스텍이 비었을 때 "}"가 나오면 "}"을 "{"으로 바꾸어야 하기 때문에 count를 1을 더해주고 스텍에 값을 "{" 을 추가하였다. 만약 "{" 이 더 많아서 stack이 남는 다면 그 중 절반은 "}"이 되어야 하므로 count + int..
1. 문제 출처 https://www.acmicpc.net/problem/1254 1254번: 팰린드롬 만들기 동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다. 동호는 www.acmicpc.net 2. 풀이 파이썬의 slice 기능을 이용하면 간단하게 해결할 수 있다. s = input() # 전체 문자열을 역순으로 한 것과 문자열이 일치하면 이미 팰린드롬 문자열 이므로 # 문자열의 길이를 출력한다. if s == s[::-1]: print(len(s)) # 아닌 경우 else: # 최악의 경우의 수는 마지막 문자를 기준으로 앞뒤를 같게 하는 경우 이므로 # 최대 문자열의 전체 ..
1. 문제 출처 https://www.acmicpc.net/problem/9996 9996번: 한국이 그리울 땐 서버에 접속하지 총 N개의 줄에 걸쳐서, 입력으로 주어진 i번째 파일 이름이 패턴과 일치하면 "DA", 일치하지 않으면 "NE"를 출력한다. 참고로, "DA"는 크로아티어어로 "YES"를, "NE"는 "NO"를 의미한다. www.acmicpc.net 2. 풀이 2가지 방법이 존재한다. 1. 정규 표현식 미사용 # 테스트 케이스 개수 받기 N = int(input()) # 패턴 받은 후 *을 기준으로 자른다. pattern = input().split("*") # 패턴의 길이 구하기 pattern_len = len(pattern[0])+len(pattern[1]) def check(): # 결과..
1. 문제 출처 https://www.acmicpc.net/problem/9205 9205번: 맥주 마시면서 걸어가기 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. www.acmicpc.net 2. 풀이 # 테스트 테이스의 개수 t = int(input()) # 편의점 좌표 입력받는 함수 get_coordinate = (lambda : list(map(int,input().split())) ) # 길이 구하는 함수 get_legth = (lambda start , end : abs(start[0]-end[0])+abs(start[1]-end[1])) # 결과 저장하..
1. 문제 출처 https://www.acmicpc.net/problem/9536 9536번: 여우는 어떻게 울지? 각 테스트케이스마다 여우의 울음소리를 한 줄씩, 녹음된 순서대로 출력한다. 여우의 울음소리가 녹음되어 있음이 보장된다. (알려진 것과는 달리, 여우는 모스 부호로 의사소통하지 않는다.) www.acmicpc.net 2. 풀이 # 테스트 케이스 개수 N = int(input()) for _ in range(N): # 녹음된 것을 받는다. record_list = input().split() # 다른 동물의 소리를 what does the fox say?가 나올 때 까지 받는다. other_animals = input().split() while other_animals[0] != "what"..
1. 문제 출처 https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net 2. 풀이 # 테스트 케이스 개수 받기 test_case_num = int(input()) # 나이트 8방향으로 이동 시 바뀌는 좌표 크기 # 원점이 좌측 상단 꼭지점이고 오른쪽, 아래쪽으로 갈 때 마다 # 1 씩 좌표가 늘어나고 그 반대는 1씩 줄어 든다 # x좌표 변화량 리스트 # x 좌표 변화량 리스트가 4인 이유는 # 원래 [-2,-1,1,2,-2,-1,1,2] 인데 -2,-..