알고리즘 문제 풀이

알고리즘 문제 풀이/프로그래머스

[프로그래머스] 숫자 게임- python[ 구현]

[level 3] 숫자 게임 - 12987 문제 링크 성능 요약 메모리: 18.3 MB, 시간: 38.02 ms 구분 코딩테스트 연습 > Summer/Winter Coding(~2018) 채점결과 정확성: 85.7 효율성: 14.3 합계: 100.0 / 100.0 제출 일자 2023년 11월 3일 14:53:25 문제 설명 xx 회사의 2xN명의 사원들은 N명씩 두 팀으로 나눠 숫자 게임을 하려고 합니다. 두 개의 팀을 각각 A팀과 B팀이라고 하겠습니다. 숫자 게임의 규칙은 다음과 같습니다. 먼저 모든 사원이 무작위로 자연수를 하나씩 부여받습니다. 각 사원은 딱 한 번씩 경기를 합니다. 각 경기당 A팀에서 한 사원이, B팀에서 한 사원이 나와 서로의 수를 공개합니다. 그때 숫자가 큰 쪽이 승리하게 되고,..

알고리즘 문제 풀이/백준

[백준] 곱셈- python[ 구현 ]

[Silver I] 곱셈 - 1629 문제 링크 성능 요약 메모리: 31120 KB, 시간: 40 ms 분류 분할 정복을 이용한 거듭제곱, 수학 제출 일자 2023년 11월 13일 13:49:29 문제 설명 자연수 A를 B번 곱한 수를 알고 싶다. 단 구하려는 수가 매우 커질 수 있으므로 이를 C로 나눈 나머지를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. 출력 첫째 줄에 A를 B번 곱한 수를 C로 나눈 나머지를 출력한다. ## 나의 풀이 딱 주어진 문제대로 구현할 경우의 코드이다. 시간초과가 발생한다. n 값의 범위가 2,147,483,647 이니 시간 복잡도 n 으로 풀면 안될..

알고리즘 문제 풀이/프로그래머스

[프로그래머스] 숫자 변환하기- python[ DP ]

[level 2] 숫자 변환하기 - 154538 문제 링크 성능 요약 메모리: 31.9 MB, 시간: 150.22 ms 구분 코딩테스트 연습 > 연습문제 채점결과 정확성: 100.0 합계: 100.0 / 100.0 제출 일자 2023년 11월 1일 12:45:19 문제 설명 자연수 x를 y로 변환하려고 합니다. 사용할 수 있는 연산은 다음과 같습니다. x에 n을 더합니다 x에 2를 곱합니다. x에 3을 곱합니다. 자연수 x, y, n이 매개변수로 주어질 때, x를 y로 변환하기 위해 필요한 최소 연산 횟수를 return하도록 solution 함수를 완성해주세요. 이때 x를 y로 만들 수 없다면 -1을 return 해주세요. 제한사항 1 ≤ x ≤ y ≤ 1,000,000 1 ≤ n < y 입출력 예 x ..

알고리즘 문제 풀이/프로그래머스

[프로그래머스] 프렌즈4블록 - python[ 구현 ]

[level 2] [1차] 프렌즈4블록 - 17679 문제 링크 성능 요약 메모리: 10.1 MB, 시간: 1.50 ms 구분 코딩테스트 연습 > 2018 KAKAO BLIND RECRUITMENT 채점결과 정확성: 100.0 합계: 100.0 / 100.0 제출 일자 2023년 11월 1일 18:19:25 문제 설명 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙어있을 경우 사라지면서 점수를 얻는 게임이다. 만약 판이 위와 같이 주어질 경우, 라이언이 2×2로 배치된 7개 블록과 콘이 2×2로 배치된 4개 블록이 지워진다. 같은 블록은 여러 2×2에 포함될..

알고리즘 문제 풀이/프로그래머스

[프로그래머스] 롤케이크 자르기 - python[ 딕셔너리, 구현 ]

[level 2] 롤케이크 자르기 - 132265 문제 링크 성능 요약 메모리: 51.3 MB, 시간: 159.77 ms 구분 코딩테스트 연습 > 연습문제 채점결과 정확성: 100.0 합계: 100.0 / 100.0 제출 일자 2023년 11월 5일 16:58:38 문제 설명 철수는 롤케이크를 두 조각으로 잘라서 동생과 한 조각씩 나눠 먹으려고 합니다. 이 롤케이크에는 여러가지 토핑들이 일렬로 올려져 있습니다. 철수와 동생은 롤케이크를 공평하게 나눠먹으려 하는데, 그들은 롤케이크의 크기보다 롤케이크 위에 올려진 토핑들의 종류에 더 관심이 많습니다. 그래서 잘린 조각들의 크기와 올려진 토핑의 개수에 상관없이 각 조각에 동일한 가짓수의 토핑이 올라가면 공평하게 롤케이크가 나누어진 것으로 생각합니다. 예를 들..

알고리즘 문제 풀이/프로그래머스

[프로그래머스] 파일명 정렬 - python[ 문자열 처리 ]

[level 2] [3차] 파일명 정렬 - 17686 문제 링크 성능 요약 메모리: 10.5 MB, 시간: 3.51 ms 구분 코딩테스트 연습 > 2018 KAKAO BLIND RECRUITMENT 채점결과 정확성: 100.0 합계: 100.0 / 100.0 제출 일자 2023년 11월 3일 13:51:17 문제 설명 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램의 과거 버전을 모두 담고 있어, 이름 순으로 정렬된 파일 목록은 보기가 불편했다. 파일을 이름 순으로 정렬하면 나중에 만들어진 ver-10.zip이 ver-9.zip보다 먼저 표시되기 때문이다. 버전 번호 외..

알고리즘 문제 풀이/백준

[백준] 최단경로- python[ Dijkstra ]

[Gold IV] 최단경로 - 1753 문제 링크 성능 요약 메모리: 73872 KB, 시간: 1020 ms 분류 데이크스트라, 그래프 이론, 최단 경로 제출 일자 2023년 11월 1일 12:09:58 문제 설명 방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다. 입력 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 주어진다. 셋째 줄부터 E개의 줄에 걸쳐 각 간선을 나타내는 세 개의 정수 (u, v, w)가 순서대로..

알고리즘 문제 풀이/백준

[백준] 평범한 배낭 - python[ dp ]

[Gold V] 평범한 배낭 - 12865 문제 링크 성능 요약 메모리: 227036 KB, 시간: 5292 ms 분류 다이나믹 프로그래밍, 배낭 문제 제출 일자 2023년 10월 31일 15:59:15 문제 설명 이 문제는 아주 평범한 배낭에 관한 문제이다. 한 달 후면 국가의 부름을 받게 되는 준서는 여행을 가려고 한다. 세상과의 단절을 슬퍼하며 최대한 즐기기 위한 여행이기 때문에, 가지고 다닐 배낭 또한 최대한 가치 있게 싸려고 한다. 준서가 여행에 필요하다고 생각하는 N개의 물건이 있다. 각 물건은 무게 W와 가치 V를 가지는데, 해당 물건을 배낭에 넣어서 가면 준서가 V만큼 즐길 수 있다. 아직 행군을 해본 적이 없는 준서는 최대 K만큼의 무게만을 넣을 수 있는 배낭만 들고 다닐 수 있다. 준서..

알고리즘 문제 풀이/프로그래머스

[프로그래머스] 기지국 설치 - python[ Greedy ]

[level 3] 기지국 설치 - 12979 문제 링크 성능 요약 메모리: 10.5 MB, 시간: 4.78 ms 구분 코딩테스트 연습 > Summer/Winter Coding(~2018) 채점결과 정확성: 70.5 효율성: 29.5 합계: 100.0 / 100.0 제출 일자 2023년 10월 2일 13:8:52 문제 설명 N개의 아파트가 일렬로 쭉 늘어서 있습니다. 이 중에서 일부 아파트 옥상에는 4g 기지국이 설치되어 있습니다. 기술이 발전해 5g 수요가 높아져 4g 기지국을 5g 기지국으로 바꾸려 합니다. 그런데 5g 기지국은 4g 기지국보다 전달 범위가 좁아, 4g 기지국을 5g 기지국으로 바꾸면 어떤 아파트에는 전파가 도달하지 않습니다. 예를 들어 11개의 아파트가 쭉 늘어서 있고, [4, 11]..

알고리즘 문제 풀이/백준

[백준] 1로 만들기 - python[ DP ]

[Silver III] 1로 만들기 - 1463 문제 링크 시도횟수 2회 첫 시도는 문제 이해를 잘못한 부분에서 틀렸다. 당연히 나누기를 먼저하는 것이 빠르겠거니 접근했고, 그렇다고 해도 2로 나누는 경우를 1순위로 해야하지만 3으로 나눌경우를 1순위로 하는 코드를 작성하였다. 다시 풀어볼 때는 DP로 접근하여 문제를 해결했다. 틀린코드 import sys x = int(sys.stdin.readline()) count =0 while True: if x%3 == 0 : x//=3 count+=1 else: break while True: if x%2 == 0 : x//=2 count+=1 else: break count += (x-1) print(count) 성능 요약 메모리: 38732 KB, 시간:..

잘잔디
'알고리즘 문제 풀이' 카테고리의 글 목록 (3 Page)