Algorithms
[프로그래머스] 가장 큰 수 (Python)
코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자..
![[백준] 2002번 추월 (Python)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdyTDbs%2Fbtrxc3K15li%2FJ8tLLCAxhgNLXKSqYFb4D1%2Fimg.png)
[백준] 2002번 추월 (Python)
2002번: 추월 입력은 총 2N+1개의 줄로 이루어져 있다. 첫 줄에는 차의 대수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 대근이가 적은 차량 번호 목록이 주어지고, N+2째 줄부터 N개의 줄에는 영식이 www.acmicpc.net solved.ac 기준 실버 I 난이도 문제이다 예제 입력 1 기준으로 생각한다면 다음과 같다: 입구 출구 ZG431SN ZG206A ZG5080K ZG431SN ST123D ZG5080K ZG206A ST123D 입구에서 제일 마지막에 있던 ZG206A 차량이 출구에서 맨 앞에 있으므로 반드시 추월을 했다 즉, 입구와 출구의 차량을 순서대로 비교하며 같은 순서에 나오지 않았다면 해당 순서에 삽입해준다 코드로 구현하면 아래와 같다: n = int..
![[프로그래머스] 크레인 인형뽑기 게임 (Python)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FN7t4T%2FbtrwZYRL019%2FK1g0ZeVgC2Slm5yKQ1AuN1%2Fimg.png)
[프로그래머스] 크레인 인형뽑기 게임 (Python)
코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 문제 설명 더보기 게임 개발자인 "죠르디"는 크레인 인형 뽑기 기계를 모바일 게임으로 만들려고 합니다. "죠르디"는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 "1 x 1" 크기의 칸들로 이루어진 "N x N" 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 "5 x 5" 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 "1 x ..
![[프로그래머스] k진수에서 소수 개수 구하기 (Python)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcWhsy1%2Fbtrw2NPI6gZ%2FxT64vkdjOoFV9LGu62ox1K%2Fimg.png)
[프로그래머스] k진수에서 소수 개수 구하기 (Python)
코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr 2022 KAKAO BLIND RECUITMENT 분류 문제이며 프로그래머스 LEVEL 2 난이도의 문제다 문제 난이도 자체는 어렵지 않으나 N진수 변환, 소수 판별 등 기본기가 중요한 문제다 문제 조건에 따르면 P는 0사이 또는 0의 좌, 우에 위치하므로 split()을 이용하면 각 P를 구할 수 있다 따라서 순서대로 입력 받은 n을 k진수로 변환 후, split("0")로 숫자를 받아서 소수인지 판별해주면 ..
![[백준] 14501번 퇴사 (Python)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUjoHq%2FbtrwZ0O6vvq%2FG9k4KyUW5S425mwk2xrGvk%2Fimg.png)
[백준] 14501번 퇴사 (Python)
14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 문제 풀이 참고로 해당 문제는 삼성 SW 역량 테스트 기출문제로 분류되어 있고 solved.ac기준 실버 III 난이도다 예제 입력1을 기준으로 천천히 생각해보자 첫째 날에 상담을 할 수도 안 할 수도 있다 상담을 한다면: 10만큼의 금액을 벌고 3일 뒤에 다시 상담 여부를 결정한다 반대로, 상담을 안 한다면: 0의 금액을 벌고 그다음 날에 상담 여부를 결정한다 이런 식으로 N만큼의 날짜가 흐를 동안 벌 수 있는 금액 중 최댓값을 구하면 된다 위 로직에 따라 DFS를 활용하면 문제를 해결할 수 있다 import sys sys.setrecursionlimit(10**6) n = int(sys.stdin..