
[프로그래머스] k진수에서 소수 개수 구하기 - Python
2022. 2. 10. 18:15
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/92335 코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr 😀 풀이 본 문제는 문제 조건에 맞는 단순 구현 문제였습니다. 풀이 과정은 아래의 세 단계로 나눌 수 있습니다. 1. 양의 정수 n이 들어왔을 때 이를 소수로 변환하는 과정 2. 문제 조건에 맞게 소수 판단의 대상이 될 숫자들을 확인하는 과정 3. 2번 과정에서 찾은 숫자들이 소수인지 확인하는 과정 위..

[Java] public static void main(String[] args)에 대하여
2022. 2. 9. 18:35
Java & Kotlin
0. 들어가며 public class Test { public static void main(String[] args) { System.out.println("Hello World!"); } } 자바를 처음 배우면 대개 위와 같은 문장을 따라 쳐 보는 것으로 시작하곤 합니다. 또한 자바 프로그래밍을 하다보면 수없이 사용하는 문장임에도 불구하고 자세히 알아본 적이 없는 것 같아 이번 기회에 이에 대해 정리해보려 합니다. 1. 본문 public static void main(String[] args) 위 문장에 대해 알아본다라는 것은 크게 세 가지를 알아본다라고 정리할 수 있을 것 같습니다. 1. main 메소드는 무엇인가? 2. main 메소드의 매개 변수인 String[] args는 무엇인가? 3. ma..

[프로그래머스] 주차 요금 계산 - Python
2022. 2. 6. 02:24
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/92341 코딩테스트 연습 - 주차 요금 계산 [180, 5000, 10, 600] ["05:34 5961 IN", "06:00 0000 IN", "06:34 0000 OUT", "07:59 5961 OUT", "07:59 0148 IN", "18:59 0000 IN", "19:09 0148 OUT", "22:59 5961 IN", "23:00 5961 OUT"] [14600, 34400, 5000] programmers.co.kr 😀 풀이 주차 요금 계산 문제는 입차하는 차량과 출차하는 차량을 관리하는 dictionary, 각 차량의 주차 시간을 관리하는 dictionary 즉, 두 개의 dictiona..

[프로그래머스] [3차] n진수 게임 - Python
2022. 2. 4. 00:51
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/17687 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0 programmers.co.kr 😀 풀이 본 문제는 10진수로 주어진 숫자를 n진수로 변환하면 쉽게 풀 수 있는 구현 문제입니다. n진수 변환의 경우 풀이 코드에 convert라는 함수로 정의해놓았습니다. 또한 진수 변환의 경우 참고할만한 코드가 많으므로 설명은 생략하겠습니다. 게임에 참여하는 인원(m)과 튜브가 미리 구할 숫자의 개수(t)를 고려해보았을 때 최대 t ..

[프로그래머스] [3차] 파일명 정렬 - Python
2022. 2. 1. 20:50
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/17686 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 😀 풀이 본 문제는 주어진 파일명 배열을 몇 가지 조건에 따라 정렬하면 되는 문제입니다. 따라서 배열을 정렬하는 기준인 key 값에 적절한 함수를 넣어주면 풀이할 수 있음을 쉽게 떠올릴 수 있습니다. 문제에서 주어진 정렬 조건은 크게 두 가지가 있습니다. 1. HEAD 부분 HEAD 부분의 경우 파일명의 맨 앞부분부터 숫자가 나오기 직전까지입..

[프로그래머스] 보석 쇼핑 - Python
2022. 1. 29. 23:15
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/67258 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 😀 풀이 이 문제는 투 포인터를 이용하여 풀이하였습니다. 배열의 크기가 100,000으로 상당히 큰 편이고 이를 고려했을 때 시간 복잡도가 작은 자료구조를 써볼까, DP를 써볼까 등등이 머리를 스쳐갔지만 문제 상황 자체가 조건에 맞는 왼쪽 진열대 인덱스와 오른쪽 진열대 인덱스를 찾는 것이므로 투 포인터를 사용하면서 적절한 자료구조를 쓰면 문제 풀이가 가능하겠다고 생각했습니다. 우선 코드를 작성하기 전 ..

[프로그래머스] [3차] 방금그곡 - Python
2022. 1. 28. 21:44
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/17683?language=python3 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr 😀 풀이 방금그곡 문제는 문제 조건에 따라 충실히 구현하면 되는 문제입니다. 각 음악 정보에 대해서 시간 길이만큼 음을 반복하여 배열에 넣어주고 이 배열이 네오가 들은 음들을 포함하고 있는지 체크하면 되는 문제입니다. 문제 해결을 위해 필요한 과정들을 함수들로 빼서 구현했는데 음을 배열로 교체하고 이 배열이 네..

[프로그래머스] [3차] 압축 - Python
2022. 1. 27. 23:25
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/17684 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr 😀 풀이 위 문제는 아래 사진과 같은 조건을 따라 그대로 구현하면 되는 문제입니다. 1 ~ 5번 과정이 각각 풀이 코드의 라인 한 개씩과 매칭되어 따로 문제 풀이과정을 설명하지 않고 해당 과정을 구현한 부분에 주석을 남겨놨습니다. 추가로 findLongestWord라는 재귀함수를 만들었는데 테스트케이스에서 recursionlimit으로 인한 런타임 에러가 발생하여 1,2번 라..

[프로그래머스] 표 편집 - Python
2022. 1. 21. 23:17
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/81303 코딩테스트 연습 - 표 편집 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr 😀 풀이 표 편집 문제에서는 특정 자료구조에 삽입, 삭제, 검색과 비슷한 행위들을 반복하여 수행해야 함을 알 수 있습니다. 또한 문제에서 효율성을 체크하게 되는데 이를 통해 적절한 자료구조를 떠올리고 이를 조건에 맞춰 구현해내는 것이 중요한 문제라고 생각했습니다. 가장 먼저 떠오른 자료구조는 기본적인 배..

[프로그래머스] 양궁대회 - Python
2022. 1. 21. 02:36
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/92342 코딩테스트 연습 - 양궁대회 문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원 programmers.co.kr 😀 풀이 해당 문제는 N의 크기가 10으로 작기 때문에 DFS로 완전 탐색을 하여도 문제가 없습니다. 따라서 라이언이 과녁을 맞춰서 어피치의 점수를 뺏을지의 여부를 체크해가며 DFS 함수를 진행해 나아갔습니다. 10점부터 0점까지 전부 진행하면 라이언의 화살들이 어떻게 꽂혔는지, 즉 화살을 쏜 결과가 완성이 되는데 이를 바탕으로 어피치와 점수를 비교하여 점수..