본문 바로가기

전체보기

(27)
프로그래머스 Java Lv3 양과 늑대 https://school.programmers.co.kr/learn/courses/30/lessons/92343 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 해당 문제는 "앞으로 갈 수 있는 노드들"을 포인트로 생각하면 생각보다 쉽게 풀 수 있다. 이 문제는 루트 노드에서 출발하여 각 노드를 돌아다니고 양과 늑대를 모으게 된다.노드는 자유롭게 이동할 수 있으므로 이동 순서에 대한 관리는 필요 없게 된다.따라서 현재 상태에서 앞으로 갈 수 있는 노드들만 관리하면 된다. 현재 노드에서 다른 노드로 이동하는 경우를 생각해보자.현재 내가 갈 수 있는 노드가 [1..
[SoMa] 소프트웨어 마에스트로 15기 코테 면접 최종합격 후기 운이 좋게도 소프트웨어 마에스트로 15기 과정에 합격하게 되었습니다. 준비하는 과정에서 소프트웨어 마에스트로 후기를 작성해주신 분들의 글을 읽으며 많은 도움이 되었기에 저 또한 후기를 남기고자 합니다. 이 글에는 저의 주관적인 생각과 개인의 경험이 많이 포함되어있습니다. 반드시 저의 준비과정과 느낀점이 정답은 아니며 다른 분들의 글과 함께 비교하며 준비하는 것을 추천드립니다. 자기 소개서 소마 15기의 자기 소개서 항목은 다음과 같았습니다. 3번 항목의 경우 자기 소개서라고 보기는 힘들고 수상 내역을 나열하는 것이므로 실제로 작성해야 하는 항목은 1번과 2번 항목입니다. 여기서 작성되는 자소서는 이후 면접에서 사용되기도 하니 신중하게 작성하는 것이 좋습니다. (*필수) [자기소개] SW분야의 전문성을 키..
프로그래머스 Java Lv3 주사위 고르기 https://school.programmers.co.kr/learn/courses/30/lessons/258709 해당 문제는 다음 2가지 포인트만 잘 생각하면 풀 수 있는 문제이다. 1. 모든 주사위 조합을 구하고, A 와 B의 경우를 매칭하는 것 2. 주사위 조합에 따라 나올 수 있는 점수 조합의 수를 구하고 압축하는 것 문제에서 주어진 n개의 주사위 중 절반의 주사위를 가져갈 때 승리할 확률이 가장 높도록 주사위를 선택해야한다. 그러므로 우선 생각해야할 것은 나올 수 있는 주사위 조합의 경우이다. 주어진 조건에 따르면 주사위의 수 n은 2 ~ 10 사이의 짝수 이다. n = 2 인 경우, 주사위 [ 1, 2 ] 가 있다면 다음과 같은 경우가 존재한다. 1. 주사위 "1" 을 고른 경우 2. 주사위..
프로그래머스 Java Lv1 가장 많이 받은 선물 https://school.programmers.co.kr/learn/courses/30/lessons/258712 해당 문제는 단순 구현으로 쉽게 풀 수 있는 문제이다. 규칙은 단순하다. 1. 주고 받은 적이 있고, 그 정도에 차이가 있다면 많이 준 사람이 선물을 하나 받는다. 2. 주고 받은 적이 없거나, 그 정도가 같다면 선물 지수를 비교한다. 3. 선물 지수도 같다면 선물을 주고 받지 않는다. 이러한 규칙에 따라서 다음 달 받을 선물의 수를 계산하기 위해서 다음과 같은 변수가 필요하다. 1. 주고 받은 선물 내역을 저장할 변수 2. 선물 지수를 저장할 변수 3. 다음달 받는 선물의 수를 저장할 변수 다음과 같은 데이터를 저장하기 위해서 각각 다음과 같은 자료형이 필요하다. 1. 이차원 정수형 배열..
[리뷰] 이것이 취업을 위한 백엔드 개발이다 with 자바 이것이 취업을 위한 백엔드 개발이다 with 자바 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com [ 소개 ] 대학교 졸업을 앞두고 백엔드 개발자로서 취업을 준비하는 과정에서 막막함과 어려움을 느끼던 중 취업을 준비하는데 도움이 된 책이 있어 소개하고자 한다. "이것이 취업을 위한 백엔드 개발이다 with 자바" - 이준형 카카오에서 자바 백엔드 개발자로 일을 하며 인프런, 프로그래머스, 클래스101 등에서 온라인 강의를 런칭하고, F-Lab과 프로그래머스에서 멘토로 활동 중인 "이준형"님이 집필한 책이다. 4개의 파트, 14개의 챕터로 구성된 이 책은, 각 챕터별로 백엔드 개발자가 알아야할 내용을 다루고 있다. 책의 전반부에서는 백엔드 개발의 기본 개념..
프로그래머스 Java Lv3 야근 지수 https://school.programmers.co.kr/learn/courses/30/lessons/12927 해당 문제는 우선순위 큐를 이용하면 간단하게 풀 수 있다. 이 문제는 남은 시간 n과 각 일에 대한 작업량 works 가 주어진다. 야근 피로도는 각 일에 대한 작업량의 제곱의 합 이므로 이를 최소화하기 위해서는 가장 많이 남은 일부터 처리하면 된다. 즉, 내림차순으로 정렬된 우선순위 큐를 이용하면 가장 많이 남은 일을 쉽게 구할 수 있고, n번 반복을 통해 가장 많이 남은 일을 처리하면 된다. 간단한 예를 통해 확인해보자. 남은 일이 [7, 1, 1] / [5, 2, 2] / [3, 3, 3] 인 3가지 경우를 생각해보자. 3가지 경우 모두 남은 일의 총합은 9이다. 다만 각각의 일에 대해..
프로그래머스 Java Lv2 숫자 블록 https://school.programmers.co.kr/learn/courses/30/lessons/12923 해당 문제는 숫자 블록이 배치되는 규칙성을 찾으면 쉽게 풀 수 있는 문제이다. 숫자 n이 적힌 블록들이 n*2, n*3, n*4, ... 위치에 배치된다. (배치 위치) 또한 숫자 n은 1 부터 시작하여 10,000,000 (천만)까지 이며, (증가 순서 ,크기 제한) 뒤에 배치되는 블록이 먼저 배치된 블록 대신 배치되게 된다. (갱신) 이러한 규칙으로 블록을 배치하게 되면 어떠한 위치 a에 배치되는 숫자는 "어떠한 위치 a 의 약수 중 자신을 제외한 가장 큰 수" 이다. 예를 들어 10번 째 위치를 생각해보자. 10번 째 위치에 배치될 수 있는 숫자 블록은 1, 2, 5 이다. 1을 10번..
프로그래머스 Java Lv2 의상 https://school.programmers.co.kr/learn/courses/30/lessons/42578 이 문제는 주어진 의상의 종류와 각 종류 별로 몇 개의 의상이 존재하는지만 구별한다면 쉽게 해결 할 수 있는 문제이다. 본인의 경우 HashMap을 이용하여 의상의 종류를 구분하고 종류 별 개수를 구하였다. 입력된 이차열 배열 clothes에서 의상의 종류만을 추출하여 HashMap 에 저장한다. 아직 HashMap에 저장된 적이 없다면 종류와 1을 저장. 이미 저장되어 있다면 저장된 값을 1 증가 시키면 된다. 이제 저장된 의상의 종류와 그 수로 가능한 조합의 수를 계산해보자. 그럼 일단 경우를 나누어 생각해보겠다. (의상의 종류 별로 개수를 a, b, c, ... 라고 하겠다.) 1) 의..