분류 전체보기 562

[n7579] 앱 in python

https://www.acmicpc.net/problem/7579 7579번: 앱 입력은 3줄로 이루어져 있다. 첫 줄에는 정수 N과 M이 공백문자로 구분되어 주어지며, 둘째 줄과 셋째 줄에는 각각 N개의 정수가 공백문자로 구분되어 주어진다. 둘째 줄의 N개의 정수는 현재 활 www.acmicpc.net (처음 든 생각) 최소비용,,, BFS인가,,, 사실 잘 모르겠다..! 그래서 고민 끝에 풀이를 봤다. (풀이 너무 찾아보는 거 아닌가 싶지만, 아무리 고민해도 모르겠어서 그냥 보고 배우는 게 낫겠다싶었다) BFS가 아니라 DP 이용하는 것! DP는 넘 어렵다아... 피보나치 수열 풀 땐 알겠는데,,, 이 문제에선 도저히 모르겠... (DP 이용 풀이) 필요한 메모리 M 바이트를 확보하기 위한 앱 비활성..

[n17478] 재귀함수가 뭔가요? in python

https://www.acmicpc.net/problem/17478 17478번: 재귀함수가 뭔가요? 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대 www.acmicpc.net 문제 제목만 봐도 알 수 있는 유형 > 재귀함수로 푸는 문제 재귀횟수 : N 위 예시를 보면, 재귀횟수가 2이다. recursion(2) 호출 recursion(1) 호출 recursion(0) 호출 print('_' * (4 * (n - cnt))+ "라고 답변하였지.") : n-cnt=2 print('_' * (4 * (n - cnt))+ "라고 답변하였지.") : n-cnt=1 print(..

[n5568] 카드 놓기 in python

https://www.acmicpc.net/problem/5568 5568번: 카드 놓기 예제 1의 경우 상근이는 11, 12, 21, 112, 121, 122, 212를 만들 수 있다. www.acmicpc.net (처음 든 생각) 이건 완탐으로 풀어야하는 것 같긴 한데.. 수가 커질수록 경우의 수가 많아지고 ㅠㅠ 이럴 땐 어떻게 해야 할 지 모르겠다 일단 완탐으로 풀어보자! n개의 카드 중에 k개를 선택하는 경우의 수를 다 써봐도 규칙이 보이지 않았다 ㅠㅠ 그래서 결국 인터넷 참고! (풀이 : itertools 라이브러리) n개의 카드 중에 k개를 선택하는 거 > 순열! 순열을 떠올리지 못했다. 떠올렸더라도 permutations를 사용해본 적이 별로 없어서 풀지 못했던 문제 지금이라도 익혀두자! s..

[n18352] 특정 거리의 도시 찾기 in python

(처음 든 생각) BFS 같다.. 느낌이 1번 도시에서 2번, 3번 도시를 가야하고? 2번 도시에서 갈 수 있는 곳이 있는지, 조건을 부합하는 지 확인한 뒤 3번 도시도 확인해야 하니까!! (처음 푼 풀이) : BFS 처음에 이 문제도 EOFError를 사용해야 하는 줄 알고 좀 헤맸다. 문제 좀 잘 읽어볼 것.. BFS 알고리즘이니까, 큐를 이용해서 풀어야한다. 위 예제를 생각해보면, k=2 이다. (거리정보) 1번 도시에서 갈 수 있는 도시는 2번, 3번 따라서 큐에 2번, 3번을 넣고 방문처리를 해준다. 이때 방문처리 리스트를 통해 답을 구할 것이다. 처음엔 set()을 이용했는데, 시간초과가 떠서 ㅠㅠ popleft로 큐에서 데이터를 꺼내온다. (2번) 2번에서 갈 수 있는 도시는 3번, 4번 하..

[제주코딩베이스캠프] 눈떠보니 코딩테스트 전날 | 트리와 그래프

# 트리 - 나무를 거꾸로 뒤집어 놓은 모양으로 뿌리, 잎, 가지로 구성되어 있는 탐색을 위한 자료구조이다. - None와 Edge를 이용해 데이터를 표현한다. 차수는 노드의 자식 노드 개수를 의미한다. (1) 이진트리 : 자식노드가 최대 두개인 노드들로 구성된 트리로, 이진트리에는 포화이진트리와 완전이진트리 등이 있다. - 포화이진트리 : 모든 노드가 두 개의 자식 노드를 가지고 모든 잎 노드가 동일한 깊이(레벨)을 갖는다. - 완전이진트리 : 마지막 레벨을 제외한 나머지 노드들의 레벨이 완전히 채워져있고, 마지막레벨에서는 왼쪽부터 노드가 순서대로 채워져있다. 탐색을 위한 이진트리! 왼쪽 자식 노드는 나보다 작고, 오른쪽 자식은 나보다 크다는 특징이 있다. * 이진트리의 순회 * (1) 전위순회 : 루..

[n15486] 퇴사 2 in python

https://www.acmicpc.net/problem/15486 15486번: 퇴사 2 첫째 줄에 N (1 ≤ N ≤ 1,500,000)이 주어진다. 둘째 줄부터 N개의 줄에 Ti와 Pi가 공백으로 구분되어서 주어지며, 1일부터 N일까지 순서대로 주어진다. (1 ≤ Ti ≤ 50, 1 ≤ Pi ≤ 1,000) www.acmicpc.net (처음 든 생각) 항상 완탐부터 생각난다.... 하지만 딱 떠오르는 생각이 없었다. 아무리 생각해봐도 모르겠어서 인터넷 풀이 검색.. (풀이 : dp) 처음에 input()으로 입력값을 받았는데 시간초과, sys.stdin.readlin() 사용하니까 통과함! 이 문제는 완탐으로 하면 시간초과가 뜬다 연산개수가 150만개라서..! 생각해야 하는 부분 1. 해당 날짜에..

[n4779] 칸토어 집합 in python

pc.net/problem/4779 4779번: 칸토어 집합 칸토어 집합은 0과 1사이의 실수로 이루어진 집합으로, 구간 [0, 1]에서 시작해서 각 구간을 3등분하여 가운데 구간을 반복적으로 제외하는 방식으로 만든다. 전체 집합이 유한이라고 가정하고, www.acmicpc.net (처음 든 생각) 3등분씩 진행하면, N을 3으로 나눈 값만큼 계속 쪼개지는구나... 뭔가 트리 모양처럼 쪼개지네? 반씩 나눠지는 걸 보니.. 재귀함수를 써야하나..? -의 개수가 1개 남을경우까지만 탐색을 해야하니까 재귀함수를 한 번 써봐야겠다 배열을 쓸까 아니면 문자열로 쓸까 고민하다가 그냥 배열 씀.. (문자열 하다가 무슨 이유 때문인지 모르겠지만 그만둠) (처음 풀이) 입력값을 얼마나 넣는 지 알 수 없기 때문에 try..

[n3273] 두수의 합 in python

https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net (처음 든 생각) 사실 완탐이 가장 먼저 떠올랐다. 그래서 문제를 풀어보려했으나, 뭔가 더 효율적인 방법이 있을 것 같았다. 그래서 고민해보다가 투포인터를 떠올리게 되었다. 투포인터의 개념은 떠올렸지만 아직 구현이 미숙해서 리스트 정렬을 해야하는 걸 까먹었다..ㅎ 그래서 계속 풀다가 도저히 안 풀려서 풀이를 찾아보니 정렬을 먼저 해야하는 것이..

[프로그래머스] 거리두기 확인하기 in python

(처음 든 생각) P가 있는 위치를 중심으로 확인하면서 넘어가려고 했다. 0~7번 자리에 P가 있으면 P 주위에 파티션이 있는지 확인 (만약 P가 아닌 O나 파티션이 있으면 일단 넘어감 어차피, P가 있으면 그 주위 탐색을 하게 될테니까?) dx, dy는 위 그림의 순서처럼 선언해놨다. P 주위에 또 다른 P가 대각선으로 있을때를 생각해봤다. P1일 경우, 4,6번 방향으로 파티션이 있으면, 조건에 위배되지 않는다. P2일 경우에는 0, 6번 방향 P3일 경우엔 0,2번 방향 P4일 경우엔 2,4번 방향 이렇게 조건까지 만들어서 돌렸는데 테스트 케이스를 통과하지 전부 통과하진 못했다 +_+; ''' 거리두기 확인하기 : Programmers Level 2. ''' def solution(places): ..

[제주코딩베이스캠프 굿즈] 2번째 선물, 키홀더!!

제주코딩베이스캠프 서포터즈 활동을 하면서 총 3번의 굿즈 선물을 받습니다! 첫 번째로는 코딩 노트와 스티커였는데! 이번에는 제주코딩베이스캠프 키링 선물이... 도착했어요!! 강의를 듣게 해주시는 것도 넘 감사한데, 이렇게 굿즈 선물까지 챙겨주셔서 행복합니다..★ 택배 도착했다는 알림문자 받자마자 바로 데리고 왔습니닷 끄아아... 너무 귀여운거 아닌가요... 포장지부터 이렇게 귀여우면 완전 반칙..! 요 키링은 제 가방에 달아놓을 예정입니닷! 버그 잡는 개리씨 키링은 부모님 차키에 달아드렸습니다 ㅎ,ㅎ 크기도 적당해서 달고 다니기 부담스럽지 않은 키링이에요 개발자들을 위한 키링이에요! 누가봐도 개발자... Hello World .. 바로 알아보면 당신은 적어도 컴공생..! 굿즈 구경하고 싶으신 분들을 위해..