그리디
[PG42860] 조이스틱
🚩 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/42860 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr ◾ 조이스틱을 이용해서 알파벳을 바꾸고 원하는 문자열로 나타내는 문제 ◾ 맨 처음엔 문자가 A로만 이루어져 있다. ◾ A에서 아래 버튼을 누르면 Z로 이동한다. ◾ 첫번째 위치에서 왼쪽으로 이동하면 마지막 문자에 커서가 이동한다. ➕ 제안사항 1. name은 알파벳 대문자로만 이루어져 있습니다. 2. name의 길이는 1 이상 ..
[PG42840] 모의고사
https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 🚩 문제 설명 ◾ 문제를 찍는 방식 3가지가 주어지고 모의고사 정답이 든 배열이 주어진다. ◾ 3가지 방식 중에서 가장 많이 문제를 맞힌 사람이 누구인지 구하는 문제 ✅ 입출력 answers return [1,2,3,4,5] [1] [1,3,2,4,2] [1,2,3] ✔️ 예시 만약 정답이 [1, 3, 2, 4, 2] 라고 한다면 수포자 찍는 방식 맞힌 갯수 r..
[PG60057] 문자열 압축
🚩 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr ◾ 주어진 문자열을 최적화하여 압축하는 문제 ✅ 입출력 s return "aabbaccc" 7 "ababcdcdababcdcd" 9 "abcabcdede" 8 "abcabcabcabcdededededede" 14 "xababcdcdababcdcd" 17 📑 문제 풀이 with 파이썬 (Python) def solution(s): ans = ..
[TC0304] [그리디] 1이 될 때까지
✅ 이것이 코딩 테스트다 - 1이 될때까지 n, k = map(int, input().split()) cnt = 0 def go(n, k, cnt): if n == 1: return cnt if n % k == 0: n = n // k cnt += 1 return go(n, k, cnt) n = n - 1 cnt += 1 return go(n, k, cnt) print(n, k) cnt = go(n, k, cnt) print("ans:", cnt) ◾ Greedy ◾ 이 문제는 1이 될 때까지 2가지의 과정 중에서 한가지의 과정을 반복하는 것이다. ◾ 많이 풀어본 문제지만 빨리 풀지를 못한다 😨 ◾ 최종적으로는 최소 횟수를 return 해야한다. ◾ 빼기 보다는 나눗셈을 하는게 최소횟수에 이득이 되므로 ..
[TC0303] [그리디] 숫자 카드 게임
✅ 이것이 코딩 테스트다 - 숫자 카드 게임 n, m = map(int, input().split()) cards = [] for i in range(n): cards.append(list(map(int, input().split()))) min_ = min(cards[0]) for j in range(n): tmp = min(cards[j]) if tmp > min_: min_ = tmp ans = min_ print(n, m) print(cards) print("해답:", ans) ◾ Greedy ◾ 카드 행들 중에서 하나를 선택하면 ◾ 해당 행의 카드 중에서 가장 작은 숫자를 골라야한다. ◾ 하지만, 최종적으로는 제일 큰 카드의 숫자를 return 하는 문제 ◾ 행마다 제일 작은 값을 뽑아내고 그 ..
[PG42862] 체육복
🚩 문제설명 https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr ◾ 체육복을 최대한 많이 빌려주는 것이 관건이다. ◾ 여벌의 체육복은 1복만 있다. 2복을 빌려준다고 착각하지말자. ◾ 필자는 처음에 2복을 빌려준다고 생각했음 😎 ◾ 또한 주의해야할 점이 여벌의 복을 1복 가져왔는데 만약 도난당한다면 그 학생은 더이상 체육복을 빌려줄 수 없다. ✅ 입출력 n: 전체 학생의 수 lost: 체육복을 도난당한 학생 배열 ..