#1456 - 거의 소수 난이도: 골드5문제 유형: 정수론, 소수 https://www.acmicpc.net/problem/1456 문제 분석 최대 범위에 해당하는 모든 소수를 구한 뒤, 이 소수들이 입력된 A와 B 사이에 존재하는지 판단하여 문제를 해결할 수 있다. 입력에서 주어진 최댓갑신 10^14까지 소수를 탐색하는 것이 아니라 에라토스테네스의 체를 이용하여 소수를 구할 것이기 때문에 10^14의 제곱근인 10^7까지의 소수를 탐색해줄 것이다. 후에는 주어진 소수들이 A~B 범위 안에 속하는지 판별하여 유효한 소수개수를 결과로 출력해주면 된다. 1. 2 ~ 10,000,000 사이에 존재하는 모든 소수를 구한다. 2. 각각의 소수에 관해 소수를 N제곱한 값이 B보다 커질 때까지 반복문을 실행한다. ..
#22858 - 원상 복구 (small)난이도 : 실버 3문제 유형 : 구현 https://www.acmicpc.net/problem/22858 문제 분석문제가 난잡하게 설명돼있는데 D = [4, 3, 1, 2, 5]P = [1, 4, 5, 3, 2]일 때S[] 가 결정되는 방식은 1~N까지의 수가 하나씩 존재하는 수열 D1,D2 ... Dn 이 있을때 , 각 i에 대해 Di 번째 카드를 i번째로 가져오는 작업을 셔플이라고 한다. i = 1일때 D1은 4이고, Di 번째 카드를 i번째로 가져온다했으니 P에서 4(D1)번째카드를 S의 1(i)번째로 옮기는 것이다.그래서 i= 1 일때 S는 S = [3,0,0,0,0] 가 된다. i = 2 일때는 D2는 3이고, P에서 3(D2)번째카드를 S의 2(i)번..
#13023 - ABCDE 난이도 : 골드 5문제 유형 : DFS/그래프 탐색 https://www.acmicpc.net/problem/13023 문제 분석오늘은 다음과 같은 친구 관계를 가진 사람 A, B, C, D, E가 존재하는지 구해보려고 한다.A는 B와 친구다.B는 C와 친구다.C는 D와 친구다.D는 E와 친구다. A-B-C-D-E 라는 관계가 성립하는 노드,엣지를 구하는거라는 건 알겠는데 이걸 어떻게 구할지 생각이 잘 나지 않았다. 예제 2번을 보면 0 - 1 - 31 - 0 - 2 - 42 - 1 - 33 - 2 - 04 - 1위와 같은 인접리스트가 만들어진다. 이 문제가 요구하는 바는 간단하게 0 - 3 - 2 - 1 - 4 와 같이 depth가 5 이상인 관계가 만들어지면 출력이 1,..
https://school.programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결법이 이중 for문 밖에 생각이 나지 않아 , 일단은 이중 for문으로 구현해보았음 def solution(prices): answer = [] for i in range(len(prices)): num = 0 // 가격이 떨어지지 않은 시간이 몇 초인지 기록하는 변수 num for j in range(i+1, len(prices)): // 지나간 i에 대해서는 재검사하지 않게 시작 지점을 i..
https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제를 처음 읽었을 때 , 문제 이해부터 필요했음 예를 들어 프로세스 [A,B,C,D] 에 대응 되는 우선순위 배열인 priorities 가 [2,1,3,2] 로 주어졌을 때 우선순위는 A=2 , B=1 ,C=3 ,D=2 로 배정됨 우선순위는 값이 클수록 순위가 높은 것 1. 큐의 맨 앞에서 대기중인 A를 꺼내 검사 (A의 우선순위 2) 2. A를 제외한 나머지 요소들의 우선순위를 검사하여 더..
https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from collections import deque def solution(bridge_length, weight, truck_weights): bridgearr = deque([0] * bridge_length)// 다리에 올라갈 수 있는 트럭 수 만큼의 배열 0으로 초기화 truck_weights = deque(truck_weights) answer = 0 while (bridgearr): ..
https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다...