본문 바로가기

알고리즘13

가장 큰 수 출처: 프로그래머스 주소: https://programmers.co.kr/learn/courses/30/lessons/42746# 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr [문제 설명] 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 만드는 문제 [예시] [제한 사항] - numbers의 원소는 0이상이고 1,000이하의 숫자 - numbers의 길이는 1이상이고 100,000이하의 리스트 - return.. 2021. 8. 2.
오픈채팅방 [2019 KAKAO BLIND RECRUITMENT] 출처: 프로그래머스 주소: https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr [문제 설명] 오픈채팅방에서 사용자들이 3가지 동작을 할 수 있다. 'Enter', 'Leave', 'Chage'가 있다. - 'Enter'는 오픈채팅방에 입장하는 것으로 '[사용자의 닉네임]님이 들어왔습니다.'가 기록으로 남는다. - 'Leave'는 오픈채팅방에 퇴장하는 것으로 '[사용자의 닉네임]님이 나갔습니다.'가 기록으로 남는다.. 2021. 7. 27.
약수의 개수와 덧셈 출처: 프로그래머스 주소: https://programmers.co.kr/learn/courses/30/lessons/77884 코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr [문제 설명] 두 정수 left와 right 사이의 모든 수중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하는 것이다. [예시] [알고리즘] 1. 약수를 구하는 함수 작성 - 기본적인 약수의 개수를 구하는 방법 => 1부터 n-1까지 반복.. 2021. 7. 16.
1753번 - 최단경로 출처: 백준 알고리즘 주소: https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1≤V≤20,000, 1≤E≤300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1≤K≤V)가 주어진다. www.acmicpc.net 문제 요약: (1) 방향 그래프와 시작 정점이 주어진다. (2) 시작 정점에서 모든 정점에 대한 최단경로를 계산하고 출력한다. 문제 해결(파이썬): A. 입력 B. 다익스트라 알고리즘 구현 C. 출력 - 시작 지점 = 0 - 시작 정점에서 갈 수 있는 정점 = 최소 거리 - 시작 정점에서 갈 수 없는 정점 = INF 미리 공부할 내용: 1. .. 2021. 7. 1.
1260번 - DFS와 BFS 출처: 백준 알고리즘 주소: www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 문제 요약: (1) 입력으로 정점의 개수(N), 간선의 개수(M), 탐색을 시작할 정점의 번호(V)를 제공 => (각 입력의 범위는 N: 1 ~ 1000, M: 1 ~ 10000, V: 1 ~ N 이다.) (2) 이후 M개의 간선을 입력으로 제공한다. (3) 입력으로 제공된 정보를 이용하여 DFS을 수행한 결과 출력 (4) 또한, BFS를 수행한.. 2021. 4. 9.