본문 바로가기

분류 전체보기233

[Java] SWEA 7465번 창용 마을 무리의 개수 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 크루스칼 알고리즘을 사용하여 해결했습니다. 주의할 점은 union만 진행할 경우 최상위 그룹에 속한 부모 값만 바뀌게 되고 하위 그룹에 속한 부모 값은 바뀌지 않게 되므로 findSet을 모든 정점에서 한 번 더 진행하여 하위 그룹의 부모 값도 바뀌게 해주어야 합니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util... 2021. 4. 26.
[Python] 프로그래머스 파일명 정렬 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 풀이 cmp_to_key를 사용해 정렬 조건을 만들어 해결했습니다. 코드 from functools import cmp_to_key def solution(files): answer = [] files_list = list() for file in files: temp = "" flag = False file_info = list() for idx in range(len(file)): temp += file[idx] if file[idx].isdigi.. 2021. 4. 25.
[Python] 프로그래머스 압축 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr 풀이 우선 문제의 조건대로 길이가 1인 즉, 'A' ~ 'Z'까지 색인을 만들고 msg를 한 글자씩 temp에 추가하면서 만약 temp의 색인이 안 만들었다면 temp - 1까지는 색인이 있는 것이므로 정답에 temp - 1의 색인을 추가하고 temp의 색인을 추가하게 하여 해결했습니다. 이때, flag를 통해 마지막문자의 색인이 안 만들어져 있다면 temp - 1의 색인을 정답에 추가하고 색인이 만들어져 있다면 temp를 정답에 추가하게 했습니다. 코드 def solution(msg.. 2021. 4. 25.
[Java] BOJ 2623번 음악프로그램 2623번: 음악프로그램 첫째 줄에는 가수의 수 N과 보조 PD의 수 M이 주어진다. 가수는 번호 1, 2,…,N 으로 표시한다. 둘째 줄부터 각 보조 PD가 정한 순서들이 한 줄에 하나씩 나온다. 각 줄의 맨 앞에는 보조 PD가 담당한 www.acmicpc.net 풀이 위상정렬을 사용하여 해결했습니다. 코드 import java.io.*; import java.util.*; public class Main { public static int N, M; public static int[] in; public static int[][] adj; public static void main(String[] args) throws IOException { BufferedReader br = new Buffere.. 2021. 4. 23.
[Java] BOJ 11057번 오르막 수 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수 www.acmicpc.net 풀이 0 1 2 3 4 5 6 7 8 9 합 1 자리 1 1 1 1 1 1 1 1 1 1 10 2 자리 10 9 8 7 6 5 4 3 2 1 55 3 자리 55 45 36 28 21 15 10 6 3 1 220 DP를 사용하여 위의 표처럼 계산을 진행하여 해결했습니다. 2자리일 때의 2로 시작하는 오르막 수는 2보다 크거나 같은 수들로 이뤄질 수 있으므로 2자리 바로 이전의 미리 구해둔 1자리일 때의 2 이상의 오르막 수 개수를.. 2021. 4. 22.
[Java] BOJ 9465번 스티커 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net 풀이 처음 스티커를 선택하는 경우는 각각의 스티커를 가져오게 했습니다. 그다음으로 이전 스티커를 선택했다면 이전에 뗄 수 있는 스티커까지 즉, 만약 현재 스티커의 i가 0이라면 memo[1][i - 1]을 i가 1이라면 memo[0][i - 1]의 값을 가져오게 했습니다. 마지막으로 이전 스티커를 선택하지 않는 경우에는 그 이전까지 뗄 수 있는 스티커까지 즉, memo[0][j - 2], memo[0][j - 1] 중 큰 값을 가져와 이전 스티커를 선.. 2021. 4. 21.