99클럽 코테 스터디 27일차 TIL - 지름길(백준 #1446)
·
99클럽 코테 스터디
❇️오늘의 학습 키워드 : 지름길(백준 #1446)문제매일 아침, 세준이는 학교에 가기 위해서 차를 타고 D킬로미터 길이의 고속도로를 지난다. 이 고속도로는 심각하게 커브가 많아서 정말 운전하기도 힘들다. 어느 날, 세준이는 이 고속도로에 지름길이 존재한다는 것을 알게 되었다. 모든 지름길은 일방통행이고, 고속도로를 역주행할 수는 없다.세준이가 운전해야 하는 거리의 최솟값을 출력하시오.입력첫째 줄에 지름길의 개수 N과 고속도로의 길이 D가 주어진다. N은 12 이하인 양의 정수이고, D는 10,000보다 작거나 같은 자연수이다. 다음 N개의 줄에 지름길의 시작 위치, 도착 위치, 지름길의 길이가 주어진다. 모든 위치와 길이는 10,000보다 작거나 같은 음이 아닌 정수이다. 지름길의 시작 위치는 도착 위..
99클럽 코테 스터디 26일차 TIL - 돌 게임(백준 #9655)
·
99클럽 코테 스터디
❇️오늘의 학습 키워드 : 돌 게임(백준 #9655)문제돌 게임은 두 명이서 즐기는 재밌는 게임이다.탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다.두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다.입력첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000)출력상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다.예제 입력 1 5예제 출력 1 SK정답 코드n = int(input())if n % 2 == 0: print("CY")else: print("SK")❇️오늘의 회고  - 시간 관계상 챌린저 ..
백준 2116. 주사위 쌓기
·
백준
https://www.acmicpc.net/problem/2116import sysinput = sys.stdin.readlinen = int(input())dice = [list(map(int, input().split())) for _ in range(n)]rotate = {0: 5, 1: 3, 2: 4, 3: 1, 4: 2, 5: 0} # 앞뒤 쌍을 딕셔너리 형태로 저장sum_list = [] # 사이드 주사위 값들의 최댓값들을 저장하는 리스트for i in range(6): # 첫 번째(맨아래)주사위 정하는 경우의 수 = 6번 max_dice_list = [] bottom_dice = [1,2,3,4,5,6] bottom_side = dice[0][i] # 첫번째 주사위 - 아래의..
백준 2169. 로봇 조종하기
·
백준
https://www.acmicpc.net/problem/2169import sysinput = sys.stdin.readlinen, m = map(int, input().split())dp = [list(map(int, input().split())) for _ in range(n)]# DP 테이블의 첫 번째 행(무조건 왼쪽->오른쪽)for j in range(1, m): dp[0][j] += dp[0][j-1]# 나머지 행 처리for i in range(1, n): left_to_right = dp[i][:] # 왼쪽 -> 오른쪽 right_to_left = dp[i][:] # 오른쪽 -> 왼쪽 # 왼쪽-> 오른쪽 for j in range(m): # 첫번째 열..
99클럽 코테 스터디 25일차 TIL - 로봇 조종하기(백준 #2169)
·
99클럽 코테 스터디
❇️오늘의 학습 키워드 : 로봇 조종하기(백준 #2169)문제NASA에서는 화성 탐사를 위해 화성에 무선 조종 로봇을 보냈다. 실제 화성의 모습은 굉장히 복잡하지만, 로봇의 메모리가 얼마 안 되기 때문에 지형을 N×M 배열로 단순화 하여 생각하기로 한다.지형의 고저차의 특성상, 로봇은 움직일 때 배열에서 왼쪽, 오른쪽, 아래쪽으로 이동할 수 있지만, 위쪽으로는 이동할 수 없다. 또한 한 번 탐사한 지역(배열에서 하나의 칸)은 탐사하지 않기로 한다.각각의 지역은 탐사 가치가 있는데, 로봇을 배열의 왼쪽 위 (1, 1)에서 출발시켜 오른쪽 아래 (N, M)으로 보내려고 한다. 이때, 위의 조건을 만족하면서, 탐사한 지역들의 가치의 합이 최대가 되도록 하는 프로그램을 작성하시오.입력첫째 줄에 N, M(1≤N,..
백준 2437. 저울
·
백준
https://www.acmicpc.net/problem/2437n = int(input())weights = list(map(int, input().split()))weights.sort() # 무게를 오름차순 정렬total = 1 # 만들 수 있는 가장 작은 무게는 1부터 시작for weight in weights: if weight > total: # 현재 무게가 지금까지 만들 수 있는 무게를 초과한다면 break # 더 이상 연속된 무게를 만들 수 없음(=빈 공간이 생김) total += weight # 현재 무게를 포함하여 연속된 무게의 범위 확장# total은 결국 연속된 무게를 만들 수 있는 최대 크기(= 범위) + 1 인 셈print(total) # 측정할..