분류 전체보기(137)
-
프로그래머스 : 후보키
https://programmers.co.kr/learn/courses/30/lessons/42890 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr itertools의 combinations를 이용해서 완전 탐색을 하면 된다. from itertools import combinations def solution(relation): answer = 0 already = [] columns..
2021.10.08 -
프로그래머스 : 예상 대진표
https://programmers.co.kr/learn/courses/30/lessons/12985 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N programmers.co.kr import math def solution(n,a,b): answer = 1 divide = 2 while True: if math.ceil(a/divide) == math.ceil(b/divide): return answer else: answer +=1 divide *= 2 return answer
2021.10.08 -
백준 12919번 : A와 B 2
https://www.acmicpc.net/problem/12919 12919번: A와 B 2 수빈이는 A와 B로만 이루어진 영어 단어 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수빈 www.acmicpc.net 아이디어 S를 T로 고치려고 하지 말고, T를 S로 바꾸려고 하면 된다. A로 끝나는 경우는 A를 뒤에서 삭제하고, B로 시작하는 경우는 뒤집고 B를 뒤에서 삭제하는 방식으로 재귀함수를 구현해서 진행한다. import sys input = sys.stdin.readline S = input().rstrip() T = input().rstrip() def c..
2021.10.06 -
백준 22860번 : 폴더 정리(small)
https://www.acmicpc.net/problem/22860 22860번: 폴더 정리 (small) main 폴더 하위에는 FolderA 폴더 하위에 있는 File1, File2, FolderB 폴더 하위에 있는 File1, File3이 있다. 파일의 종류는 File1, File2, File3 총 3가지이고, 파일의 총 개수는 File1, File2, File1, File3 총 4개이다. mai www.acmicpc.net 아이디어 최근 본 코딩테스트에서 거의 똑같은 문제가 나왔었다. 근데 또 문제 잘못 읽음...ㅎㅎ 출력 순서를 반대로 했었다. 위상정렬 아이디어를 사용했다. folder_dict에서 각 key에 해당하는 value는 길이가 3인 리스트로 구성되어있다. 0번 인덱스는 해당 폴더의 ..
2021.10.06 -
백준 14567번 : 선수과목 (Prerequisite)
https://www.acmicpc.net/problem/14567 14567번: 선수과목 (Prerequisite) 3개의 과목이 있고, 2번 과목을 이수하기 위해서는 1번 과목을 이수해야 하고, 3번 과목을 이수하기 위해서는 2번 과목을 이수해야 한다. www.acmicpc.net 아이디어 전형적인 위상정렬 문제이다. import sys from collections import deque input = sys.stdin.readline n,m = map(int,input().rstrip().split()) routes = [0] * (n+1) graph = [[] for _ in range(n+1)] for _ in range(m): a,b = map(int,input().rstrip().split..
2021.10.05 -
백준 1548번 : 부분 삼각 수열
https://www.acmicpc.net/problem/1548 1548번: 부분 삼각 수열 세 수 x, y, z가 x+y>z, x+z>y, y+z>x의 관계를 만족하면, 세 수는 삼각관계에 있다고 한다. 마찬가지로 길이가 N인 수열 B(b[0], b[1], ..., b[n-1])의 모든 b[i], b[j], b[k]가 삼각관계에 있으면 이 수열은 삼각 www.acmicpc.net 아이디어 해당 링크 참고함 https://isukorea.com/group/morgorithm/board/b/8 import sys import heapq input = sys.stdin.readline n = int(input().rstrip()) A = list(map(int, input().rstrip().split()..
2021.10.05