프로그래머스(33)
-
[Programmers, Lv.1] 코딩테스트 고득점 Kit - 해시 (1) (Python)
1. 폰켓몬 (Level 1) (문제 설명, 제한사항, 입출력 예) 폰켓몬의 종류 번호가 담긴 1차원 배열 nums가 주어진다. 연구실에 있는 총 N 마리의 폰켓몬 중에서 박사님이 N/2마리를 가져가도 좋다고 말했을 때, 가장 많은 종류의 폰켓몬을 선택하는 방법을 찾아 그때의 폰켓몬 종류 번호의 개수를 구하라는 문제이다. (가장 많은 종류의 폰켓몬을 선택하는 방법이 여러 가지인 경우에도, 선택할 수 있는 폰켓몬 종류 개수의 최댓값 하나만 구하면 된다. (내가 생각한 풀이 과정) 중복되지 않는 경우의 수를 골라야 가장 많은 폰켓몬 종류를 가져갈 수 있는 것이니, 일단 중복을 제거해 주기 위해 집합 set을 사용했다. 기존 nums 리스트에 중복값이 없다고 가정했을 때는, nums/2 만큼이 최대 종류로 가..
2023.09.12 -
[Programmers/Lv. 1] 실패율 (2019 KAKAO BLIND RECRUITMENT, Python)
📎 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 문제설명, 제한사항, 입출력 예 실패율을 구하는 코드를 완성하라는 문제이다. 실패율은 다음과 같이 정의한다. "스테이지에 도착했으나, 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수" 전체 스테이지의 개수 N과, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열이 같이 매개변수로 주어질 때, 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호가 담겨있는 배열을 구하라는 문제이다. 🤔 내가 생각한 풀이 과정 (1) - 런타임 에러 코드 문제에 나와있는 예시..
2023.08.24 -
[Programmers/Lv. 1] 달리기 경주 (프로그래머스 연습문제, Python)
📎 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 문제설명, 제한사항, 입출력 예 달리기 경주가 열렸다. 해설진들은 선수가 앞의 선수를 추월하면, 추월한 선수의 이름을 부른다고 한다. 현재 등수대로 선수들의 이름이 담긴 문자열 배열 players와 해설진이 추월할 때 부르는 선수들의 이름이 담긴 문자열 배열 callings가 주어진다고 할 때, 경주가 끝났을 때의 등수를 배열에 담아 구하라는 문제다. 🤔 내가 생각한 풀이 과정 (1) - 시간 초과 코드 파이썬의 swap 기능을 묻는 문제인 것 같았다. 어렴풋이, temp라는 변수를 이용해야 하는..
2023.08.09 -
[Programmers/Lv. 1] 문자열 나누기 (프로그래머스 연습문제, Python)
📎 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 문제설명, 제한사항, 입출력 예 주어진 문자열 s를 아래 규칙에 따라서 분해하고, 분해된 문자열의 개수를 구하라는 문제이다. 문자열 s의 첫 글자를 x라고 한다. (문자열 s는 소문자로만 이루어진다.) 문자열을 읽어나가면서 x가 나온 횟수와 x가 아닌 글자가 나온 횟수를 카운트한다. 처음으로 두 횟수가 같아지는 순간 (0 제외) 이 카운트를 멈추고, 지금까지 읽은 문자열을 분리한다. 분리된 문자열을 빼고, 남은 부분에 대해서 "첫 글자를 읽고 -> 문자별 나온 횟수 카운트" 과정을 반복한다. 두 ..
2023.08.08 -
[Programmers/Lv. 1] 신고 결과 받기 (2022 KAKAO BLIND RECRUITMENT, Python)
📎 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 문제설명, 제한사항, 입출력 예 아래 주어진 조건과 같이 게시판 불량 이용자를 신고하고, 처리 결과를 메일로 발송하는 시스템을 개발하라는 문제이다. 조건 1. 각 유저는 한 번에 한 명의 유저만을 신고할 수 있다. 한 유저를 여러 번 신고하거나, 서로 다른 유저를 계속해서 신고하거나 같은 신고 횟수에 제한은 없다. 단, 한 유저를 여러 번 신고한 경우에 신고 횟수는 1회로 인정된다. (무지->네오, 무지->네오, 무지->네오 3번을 신고해도 처리는 1회) 조건 2. 매개변수로 주어지는 k번 이상 ..
2023.08.08