알고리즘-python

    [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..

    [PG64061] 크레인 인형뽑기 게임

    🚩 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[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 ◾ N x N의 격자가 주어진다. ◾ 각 인형은 아래에서부터 차곡차곡 쌓여있다. ◾ 게임 사용자는 크레인을 좌우로 움직여서 인형을 뽑을 수 있다. ◾ 그리고 오른쪽의 빈 바구니에 인형을 담을 수 있다. ◾ 인형을 뽑고 오른쪽 바구니에 연속된 인형이 담겨졌을 시 두 인형이 터트려져 사라지게 된다. ◾ 인형이 없는 곳에서 크레인을 작동시키면 아무런 일도 일어나지 않는다. ◾ 터..

    [PG67256] 키패드 누르기

    🚩 문제 설명 ◾ 키패드를 누를 때 어떤 손의 엄지손가락을 쓰는지 구하는 문제이다. ◾ 키패드가 1, 4, 7에 해당하면 왼쪽 손을 쓴다. ◾ 키패드가 3, 6, 9에 해당하면 오른쪽 손을 쓴다. ◾ 키패드가 그 외의 수 2, 5, 8, 0에 해당하면 현재 키패드에서 더 가까운 엄지손가락을 쓴다. 만약 그 거리가 같다면 사용자의 주 손잡이 방향을 쓴다. 이는 hand 배열로 주어진다. 왼손, 오른손의 위치를 표시를 해야하구나 생각을 한다. ◾ 여기서 주의할 점은 (문제 안풀려서 필자가 개고생한 점 😅) 거리가 나온다면 키패드간의 피타고라스 증명을 써서 거리를 구하려는 사람이 많은데 문제를 보면 단순 위치에서의 거리를 이른다. 즉 무슨 말이냐면, 위처럼 1, 2, 5의 키패드가 있다고 하자. 만약 5를 눌..

    [PG81301] 숫자 문자열과 영단어

    🚩 문제 설명 ◾ 문자열이 주어지고 해당 문자열에서 숫자 영단어에 해당하는 문자를 숫자로 바꿔주는 문제 ◾ 영단어를 찾아서 숫자로 바꿔준다. ◾ 쉬운 문제 ✅ 입출력 s: 입력으로 주어지는 숫자로 바꿔야할 문자열 return ➡️ 해당 문자열을 숫자로 바꾼 수 s return "one4seveneight" 1478 "23four5six7" 234567 "2three45sixseven" 234567 "123" 123 📑 문제 풀이 with 파이썬 (Python) def solution(s): ans = s chars = [ 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten' ] for i in range(..

    [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 = ..