규칙- 문제 인증, 블로그 포스팅, 모의테스트 참여를 하지 않을시 각각 활동비에서 -1000원씩 차감- 학회 활동이 끝난 후, 스터디 우수 참여자에게 차감된 활동비를 N분의 1로 나눠서 지급- 스터디 우수 참여자 기준은 남은 활동비의 내림차순으로 정렬하여 가장 높은 참여자들로 선정김의선 seon0640 kimeuiseon류민호 gksmf0322 SBB CFF FFS신영섭 whiteys1 whiteys1이성민 tjddlals seongmin_이연재 nounumber1006 musk_lisn정준영 nomorefifa wjdwnsdud1최준혁 hyuk2449 Rodin황예원 yewon303 gemmahwang1. 문제 인증 1주차2주차3주차4주차5주차6주차7주차8주차김의선OO 류민호OOOOOOOO신영..
분류 전체보기
규칙- 문제 인증, 블로그 포스팅, 모의테스트 참여를 하지 않을시 각각 활동비에서 -1000원씩 차감- 학회 활동이 끝난 후, 스터디 우수 참여자에게 차감된 활동비를 N분의 1로 나눠서 지급- 스터디 우수 참여자 기준은 남은 활동비의 내림차순으로 정렬하여 가장 높은 참여자들로 선정김서현 bell0139 bell0139김태우 rereers1125 steadykim김두현 engus525 박수완 nick6767 박준규 junju404 junju404서상원 zmdk1205 zmdk1205신태원 tlsxodnjs147 앱등이태리오상준 highjune en2014유완규 beans3142 beans3142이유경 nunomi0 nunomi0조소윤 rnjswjdduf83 ㄱㅈㅅㅇ주동욱 donguk6634 2021주동욱최..
문제 N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수 중에서 M개를 고른 수열 고른 수열은 비내림차순이어야 한다. 길이가 K인 수열 A가 A ≤ A ≤ ... ≤ A ≤ A를 만족하면, 비내림차순이라고 한다.2K K-1 1 입력 첫째 줄에 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 둘째 줄에 N개의 수가 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다. 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. 예제 입력 1 3 1 4 4 2 예제..
https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net 유형 다익스트라 문제 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주인공, 링크는 지금 도둑루피만 가득한 N x N 크기의 동굴의 제일 왼쪽 위에 있다. [0][0]번 칸이기도 하다. 왜 이런 곳에 들어왔냐고 묻는다면 밖에서 사람들이 ..
https://www.acmicpc.net/problem/1504 1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존 www.acmicpc.net 문제요약 첫번째 노드부터 주어진 N번째 노드까지의 최단경로를 구한다. 다만, 두개의 노드가 추가로 주어지는데 이 두 노드를 반드시 경유해야 한다. 문제해결 다익스트라 알고리즘을 여러번 사용하여 문제해결을 하였다. 다만 고려사항이 몇가지가 있다. 고려사항 1. 주어진 두 노드를 지나는 순서에 따라 최단거리가 달라질 수 있다. 따라서 두가지 경우를 고려해야..
문제 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 해석 최단거리에 대한 문제이므로 다익스트라를 생각해볼 수 있다. 또한, 문제에 '단방향'이라고 적혀있다. 다익스트라 문제를 풀어보면서 '단방향'이 일반적인 문제이고 여기에 조금 더 심화된 것이 '양방향'인 것 같다. 그래도 결국 다익스트라 로직에서는 크게 벗어나지 않는다. 해당 문제도 '단방향'인 것은 맞지만 왔다가 다시 돌아와야하는 문제이다. 그래서 예제를 보..

문제 https://www.acmicpc.net/problem/18223 18223번: 민준이와 마산 그리고 건우 입력의 첫 번째 줄에 정점의 개수 V와 간선의 개수 E, 그리고 건우가 위치한 정점 P가 주어진다. (2 ≤ V ≤ 5,000, 1 ≤ E ≤ 10,000, 1 ≤ P ≤ V) 두 번째 줄부터 E개의 줄에 걸쳐 각 간선의 정보 www.acmicpc.net Algorithm 양방향 간선이고, 문제에서 요구하는 것이 건우의 위치를 지나는 path가 최단거리인지 확인하는 문제이다. 양방향 간선이므로, 시작점이 1인 dijkstra알고리즘과 시작점이 4인 dijkstra알고리즘을 돌려서 두개의 path의 값을 비교해 주면 된다. 둘의 값이 같으면 건우의 위치를 지나도 최단거리이므로 SAVE HIM을..

문제 https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net Algorithm 문제의 상황을 그래프로 나타내고 다익스트라로 해결할 수 있다. 생성해야 할 그래프는 왼쪽으로, 또는 오른쪽으로 갈 수 있으면 현재 점 i에서 i-1 또는 i+1인 노드로 이동하며 이 때의 비용은 각 1이고, 순간이동이 가능하다면 i에서 2*i노드로 이동하며 비용은 0인 그래프이다. 이 때 노드의 개수는 N 또는 K의 범위의 길이이다. C..
https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 코드 #include #include #include #include #include #include #include #include #include #include #include #include #include #define LL long long using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(N..

문제 풀이 1부터 N까지의 노드가 있고, 1에서 N까지 가는 최단 거리를 찾는 문제와 동일하다. 다익스트라를 사용하여 최단 거리를 구해주었다. 코드 import sys from heapq import heappop, heappush input = sys.stdin.readline INF = 1e9 def dijkstra(graph, n): hq = [(0, 1)] distance = [1e9] * (n + 1) distance[1] = 0 while hq: dist, cur = heappop(hq) if dist > distance[cur]: continue # 예외 처리 for weight, next_node in graph[cur]: next_dist = dist + weight if next_dis..

https://www.acmicpc.net/problem/16955 16955번: 오목, 이길 수 있을까? 구사과와 큐브러버는 10×10 크기의 바둑판에서 오목을 하고 있다. 턴은 구사과가 먼저 갖는다. 바둑판의 상태가 주어진다. 구사과가 턴을 한 번 더 가졌을 때, 이길 수 있는지 구하는 프로그램을 www.acmicpc.net 첫번째 플레이어가 돌을 뒀을때 이겼는지 판별하는 문제이다. 빈 칸에 첫번째 플레이어의 돌(X)을 두고, 가로,세로,오른쪽아래로 향하는 대각선, 왼쪽아래로 향하는 대각선 으로 나눠서 이기는 조건인 XXXXX가 존재한다면 1을 출력하면 될 것이다. 대각선을 생각하는 것이 조금 어려웠는데, 왼쪽아래로 향하는 대각선은 열기준으로 작아지는 방향, 행기준으로는 커지는 방향이다. 그런데 찾는..

https://school.programmers.co.kr/learn/courses/30/lessons/72413 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 밤늦게 귀가할 때 안전을 위해 항상 택시를 이용하던 무지는 최근 야근이 잦아져 택시를 더 많이 이용하게 되어 택시비를 아낄 수 있는 방법을 고민하고 있습니다. "무지"는 자신이 택시를 이용할 때 동료인 어피치 역시 자신과 비슷한 방향으로 가는 택시를 종종 이용하는 것을 알게 되었습니다. "무지"는 "어피치"와 귀가 방향이 비슷하여 택시 합승을 적절히 이용하면 택시요금을 얼마나 아낄 수 ..