0. Q & A - 다른 언어로 문제를 풀어도 상관이 없나요? 문제 자료에 나오는 코드가 파이썬, C++이라 해당 코드를 읽을 줄 아시면 상관은 없습니다. - 모의 테스트는 어떻게 진행되나요? 백준 - 그룹 - 연습 기능을 사용하여 백준 문제를 제공할 예정입니다. - 문제는 얼마나 풀게 되는 것인가요? 기초 알고리즘 스터디: 주차마다 다르지만 보통 20문제 내외로 풀게 됩니다. 코딩테스트 준비 스터디: 일주일에 8문제를 풀게 됩니다. - 모의 테스트 예시 1. 알고리즘 기초 스터디 대상 - 본격적인 알고리즘 지식을 배우기 전에 기본적인 구현 실력을 쌓고 싶으신 분 - 1학년 코딩 수업을 들으신 분들 사용 언어 - Python 3 계획 1. 깃북 자료를 읽은 후 깃북에 나와있는 알고리즘 문제를 통해 공부를..
문제 https://www.acmicpc.net/problem/11383 11383번: 뚊 입력의 첫 번째 줄에 N, M (1 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄의 각 줄에는 M개의 문자가 주어진다. 다음 N개의 줄의 각 줄에는 2M개의 문자가 주어진다. 모든 문자는 영문 알파벳 대문자 혹 www.acmicpc.net 코드 풀이 N번동안 문자를 입력받고 M번동안 새로운 리스트에 두번 넣어서 늘린 문자와 똑같은 문자가 되게 만든다. if문을 사용하여 늘린 문자와 입력받은 문자가 같지 않을 경우 flag를 걸어서 확인한다.
https://www.acmicpc.net/problem/15351 15351번: 인생 점수 어떤 사람이 무엇을 즐기느냐에 따라 그 사람의 인생 점수를 측정할 수 있다. A를 1점, B를 2점, ... , Z를 26점으로 해, 즐기는 것의 이름의 알파벳 점수를 모두 더하면 된다. 예를 들어, "OTAKU LIFE" 는 www.acmicpc.net 문제분석 입력하는 문자열을 알파벳 순서대로 점수로 환산해 최종 합을 출력한다. 소스코드 n=int(input()) for i in range(n): a=input() score=0 for j in a: if j == " ": continue else: a_score=ord(j)-64 score+=a_score if score==100: print('PERFECT..
백준 13424 비밀 모임 Intro Solution 다익스트라 알고리즘을 알고 있다면 쉽게 풀 수 있다. 다익스트라 알고리즘을 이용해 모든 친구들의 이동 비용을 구하여 저장한다. N은 최대 100이므로 K * N은 최대 10000, 친구들의 이동 비용의 합을 도착지마다 구하여 비교하여도 시간 제한을 통과할 수 있다. Code import sys, heapq input = sys.stdin.readline def dijkstra(n, graph, start): cost = [float('inf')] * (n+1) cost[start] = 0 hq = [(cost[start], start)] while hq: t, x = heapq.heappop(hq) if cost[x] != t: continue for..
문제 풀이 일단 이 문제를 보면 저 같은 경우에 초가 아닌 분으로 계산하여 풀 경우를 생각해 보았습니다 그래서 초는 3600을 곱하여 푸는 경우보다는 일단 입력한 T값을 60으로 나누고 그걸 입력한 b값에 넣은 다음 a에 T를 60으로 나눈 몫을 더해줍니다. 그리고 나머지는 b에 저장하고 그리고 a가 24시간이 넘을 경우에는 뺴기 24를 해준 다음 a값에 저장하면 끝납니다. 문제 코드 a,b=map(int,input().split()) T=int(input()) b+=T if b>=60:a+=(b//60);b=b%60 if a>=24:a=a-24 print(a,b)
https://www.acmicpc.net/problem/8989 8989번: 시계 기원이의 방에는 시침과 분침으로 이루어진 아날로그 시계가 있다. 기원이는 시침과 분침이 형성하는 각도 중 작은 각도를 측정하는 것이 취미이며, 이 각도는 0보다 크거나 같고 180보다 작거나 www.acmicpc.net 5개의 시간(시계)을 입력받고, 시계의 시침과 분침이 이루는 각도 (두 각도 중 작은 각도)를 구해서 오름차순으로 나열한다. 5개 중 가운데(3번째) 위치하는 시간을 찾는 문제이다. 시침과 분침이 가리키는 각도를 계산하는 문제라고 할 수 있다. 코드가 많이 지저분하지만, 리뷰도 할겸 최초 제출 코드로 올려본다. 분침이 가리키는 각도는 그 숫자에 비례하기 때문에 쉽게 생각할 수 있고, 시침은 분과 연계해서..
https://www.acmicpc.net/problem/13424 13424번: 비밀 모임 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에 테스트 케이스의 개수를 나타내는 자연수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 방 www.acmicpc.net 문제분석 분류 그래프 이론, 다익스트라, 플로이드-워셜 문제설명 N개의 방, M개의 비밀통로, K명의 친구들 모임에 참여하는 친구들은 N개의 방 중에서 한 군데씩에 각각 위치해있다. 이들은 항상 처음 위치에서 모임 장소까지의 이동 거리가 가장 짧은 경로만을 이용한다. 모임에 참석하는 친구들의 이동 거리의 총합이 최소가 되는 방을 오늘의 모임 장소로 사용한다. 친구들의 이동 거리의 총합이 최소가 되..
https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 문제분석 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 N에 있고, 동생은 K에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 0초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장..
1. 문제 5598번: 카이사르 암호 가이우스 율리우스 카이사르(Gaius Julius Caesar)는 고대 로마 군인이자 정치가였다. 카이사르는 비밀스럽게 편지를 쓸 때, 'A'를 'D로', 'B'를 'E'로, 'C'를 'F'로... 이런 식으로 알파벳 문자를 3개씩 건 www.acmicpc.net 2. 코드 caesar = list(input()) for i in range(len(caesar)): re = ord(caesar[i]) - 3 if re < ord('A'): re += 26 caesar[i] = chr(re) print(''.join(caesar)) 3. 풀이 - 카이사르 암호는 알파벳을 3개씩 건너띄어쓴다. 복구할때는 기존의 알파벳 3개 전 알파벳을 대응한다. - 이때, 알파벳에 숫자..
1504번: 특정한 최단 경로 (acmicpc.net) 1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존 www.acmicpc.net 문제 해석 방향성이 없는 그래프에서 주어진 2가지의 노드를 거친 1번 노드에서 N번 노드까지의 최단거리를 구하는 문제이다. 만약 경로가 없을 경우, -1를 출력한다. 코드 문제 풀이 3번의 다익스트라를 사용하여 문제를 풀었다. 1번 노드에서 출발하는 다익스트라를 통해 1번 노드 -> 중간노드1, 1번노드 -> 중간노드2의 거리를 구하고 중간노드1에서 출발하는 다익..
2480번: 주사위 세개 (acmicpc.net) 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개 www.acmicpc.net 문제 분석 분류 수학 사칙연산 문제설명 입력 출력 소스코드
https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net 문제 설명 방향성이 있고, 간선에 가중치가 있는 그래프에서 어떤 정점이 특정한 정점 X까지 왕복하는데 가장 거리가 먼지를 찾아내는 문제입니다. 다익스트라 알고리즘으로 해결할 수 있을 것 같습니다. 문제 분석 하지만 문제가 있습니다. 왔던 정점으로 다시 되돌아가야 하는데 방향성이 있기 때문에 되돌아가는 길은 왔던 길과 다릅니다. 이 문제를 해결하기 위해서 모든 정점에서..