목록구현 (104)
기록방
👉 문제링크 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 🔸 문제 분석 🔸 입력받은 문자열을 확인하면서 변경된 크로아티아 알파벳인지 확인해 추가하고 아니면 그냥 한 글자를 추가한다. 🔸 코드 🔸 alphabet = input() croatia = ("c=","c-","d-","lj","nj","s=","z=") answer = 0 i = 0 while i < len(alphabet): if alphabet[i:i+2] in croatia: answer += 1 i +=..
👉 문제링크 1308번: D-Day 첫째 줄에 오늘의 날짜가 주어지고, 두 번째 줄에 D-Day인 날의 날짜가 주어진다. 날짜는 연도, 월, 일순으로 주어지며, 공백으로 구분한다. 입력 범위는 1년 1월 1일부터 9999년 12월 31일 까지 이다. www.acmicpc.net 🔸 문제 분석 🔸 d-day까지 날짜 수를 구하는 문제이다. 윤년 계산에 주의해야한다. 🔸 코드 🔸 from datetime import datetime today = list(map(int, input().split())) dday = list(map(int, input().split())) today_date = datetime(year=today[0], month=today[1], day=today[2]) dday_date ..
👉 문제링크 2816번: 디지털 티비 2012년 12월 31일 새벽 4시부터 지상파 아날로그 TV방송이 종료되었다. TV를 자주보는 할머니를 위해서, 상근이네 집도 디지털 수신기를 구입했다. 원래 상근이네 집에는 KBS1과 KBS2만 나왔다. 할머니 www.acmicpc.net 🔸 문제 분석 🔸 리스트의 1, 2 번을 원하는 채널로 바꾸는 문제이다. 1번과 2번 중 어느게 더 아래에 있나에 따라 이동해야하는 거리가 다르다. 🔸 코드 🔸 import sys input = sys.stdin.readline arr = [] for i in range(int(input())): arr.append(input().rstrip()) kbs1 = arr.index("KBS1") kbs2 = arr.index("KBS..
👉 문제링크 1547번: 공 첫째 줄에 컵의 위치를 바꾼 횟수 M이 주어지며, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 컵의 위치를 바꾼 방법 X와 Y가 주어지며, X번 컵과 Y번 컵의 위치를 서로 바꾸는 것 www.acmicpc.net 🔸 문제 분석 🔸 공의 위치는 계속 첫 위치이고, 컵 끼리 자리가 변한다. 다시 말해보면 공은 상관없고, 컵을 바꾸다가 첫 번째 자리 컵이 무엇인지 출력한다. 🔸 코드 🔸 m = int(input()) cup = [1,2,3] for i in range(m): x, y = map(int,input().split()) x_idx = cup.index(x) y_idx = cup.index(y) cup[x_idx], cup[y_idx] = cup[y_..
👉 문제링크 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net 🔸 문제 분석 🔸 땅 고르기 작업의 최소시간이며 가장 높이가 높은 상태의 시간과 높이를 출력한다. 🔸 코드 🔸 # python3 : 시간초과 , pypy3 : 통과 import sys n, m, b = map(int, sys.stdin.readline().split()) arr = [list(map(int, sys.stdin.readline().split())) for _ in range(n)] answer = sys.maxsize index = 0..