본문 바로가기
  • 소소한 개발자 이야기

Algorithm Study/Programmers8

(프로그래머스) 완주하지 못한 선수 https://school.programmers.co.kr/learn/courses/30/lessons/42576?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 완주하지 못한 참가자를 찾는 문제문제를 보아하니 완주하지 못한 사람은 한명으로 한정되어 있는거 같아 간단하게 문제를 풀 수 있을거 같다. participant 와 completion 배열을 각각 sort 한다. 그리고 0번째부터 completion 배열의 길이만큼 하나씩 비교하여 두개의 값이 다르다면 participant[i] 번째에 있는 사람은 완주를 하지 못한거로 판단할수.. 2024. 9. 22.
(프로그래머스) 폰켓몬 https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 오랜만에 프로그래머스에서 코딩테스트 문제를 풀어보았습니다. 너무 오랜만에 푸는거고 취업 준비할때는 C++  로 코딩테스트를 준비했었는데취업 후에는 주로 Java를 사용하다보니 Java 로 문제를 풀어보았는데 뭔가 익숙하지가 않은거 같다는 느낌이 들었다. (꾸준히 연습할 필요가 있음.)  폰켓몬 문제의 핵심은 주어진 N마리의 폰켓몬 중 절반 즉, N/2 마리의 폰켓몬을 가져갈수 있고 또 얼마나 많은 종.. 2024. 9. 22.
(2022 KaKao Blind Recruitment) 신고 결과 받기 https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 신고 결과 받기 문제입니다. 이번 문제는 Java를 이용해서 풀었습니다. Map, HashSet, String 등 자바 라이브러리를 적절히 사용하여 간단하게 풀 수 있는 문제 입니다. 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 .. 2022. 6. 26.
(카카오 인턴십) 크레인 인형뽑기 게임 코딩테스트 연습 - 크레인 인형뽑기 게임 [[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 이 문제도 어려운 문제는 아닙니다. 그냥 직관적으로 접근해서 문제 요구에 따라 풀면 되는 문제입니다. 여기서 중요한 개념이 스택이라고 생각합니다. stack STL을 사용해서 push(), pop()을 해도 되지만 직접 stack을 간단하게 구현했습니다. 완벽한 스택이라고 할 수는 없고, 스택의 원리?를 이용한 배열이라고 할 수 있습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 .. 2020. 8. 6.
(카카오 인턴십) 호텔 방 배정 https://programmers.co.kr/learn/courses/30/lessons/64063 코딩테스트 연습 - 호텔 방 배정 programmers.co.kr 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 /* 문제 해결 방안: Key point: 재귀 함수를 이용해서 푼다. (1) 호텔 방이 비어 있다면, 그 호텔을 배정해주고 다음 방을 가리키도록 한다. (2) 비어있지 않다면, 그 호텔이 가리키.. 2020. 8. 4.
(2019 카카오 인턴십) 키패드 누르기 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 어려운 문제는 아닌거 같아요 문제 읽으시고 노트에 설계부터 제대로 하신 뒤에 코딩하면 됩니다. 간단하게 문제 설명 드리자면 이렇습니다. 위와 같이 키패드가 있고 n개의 숫자가 vector함수에 주어진다. 그 키패드를 순서대로 누를 때 1) 왼쪽 라인에 있는 숫자는 왼손으로 오론쪽 라인에 있는 숫자는 오른손 2) 가운데 숫자는 더 가까운 손으로 누른다. .. 2020. 7. 29.