https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2022 KAKAO BLIND RECRUITMENT의 Level 2 문제다. 특별히 고려해야 할 것 없이 문제에서 요구하는 대로 구현하면 된다. TreeMap에 차 번호를 key값으로, time을 담은 ArrayList를 value로 저장했다. 그리고 map의 value를 하나씩 꺼내 시간을 계산했다. value인 ArrayList의 size가 홀수라면, 입차 후 출차 내역이 없는 것이므로 시간을..
https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2022 KAKAO BLIND RECRUITMENT Level 2 문제다. 처음엔 조건에 맞는 소수라고 하니 꽤나 복잡해보였다. 주어진 숫자를 k진수로 변환 후, 0을 기준으로 잘라 소수인지 판별하면 된다. 예시를 보면 0을 기준으로 자르기만 하면 간단한 문제임을 알 수 있다. 437674 -> 211020101011 -> 211, 2, 1, 1, 11 -> 211, 2, 11 -> 3개 처음엔 ..
https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2022 KAKAO BLIND RECRUITMENT의 Level 1 문제다. 사용자별 신고 여부를 저장할 boolean 2차원 배열 report_yn을 생성했다. 만약 report_yn[i][j]가 true라면 i번째의 사용자가 j번째의 사용자를 신고한 것이다. HashMap map = new HashMap(); for(int i=0;i

https://www.acmicpc.net/problem/1516 1516번: 게임 개발 첫째 줄에 건물의 종류 수 N(1 ≤ N ≤ 500)이 주어진다. 다음 N개의 줄에는 각 건물을 짓는데 걸리는 시간과 그 건물을 짓기 위해 먼저 지어져야 하는 건물들의 번호가 주어진다. 건물의 번호는 1부 www.acmicpc.net 문제 숌 회사에서 이번에 새로운 전략 시뮬레이션 게임 세준 크래프트를 개발하기로 하였다. 핵심적인 부분은 개발이 끝난 상태고, 종족별 균형과 전체 게임 시간 등을 조절하는 부분만 남아 있었다. 게임 플레이에 들어가는 시간은 상황에 따라 다를 수 있기 때문에, 모든 건물을 짓는데 걸리는 최소의 시간을 이용하여 근사하기로 하였다. 물론, 어떤 건물을 짓기 위해서 다른 건물을 먼저 지어야 할..
https://www.acmicpc.net/problem/14567 14567번: 선수과목 (Prerequisite) 3개의 과목이 있고, 2번 과목을 이수하기 위해서는 1번 과목을 이수해야 하고, 3번 과목을 이수하기 위해서는 2번 과목을 이수해야 한다. www.acmicpc.net 문제 올해 Z대학 컴퓨터공학부에 새로 입학한 민욱이는 학부에 개설된 모든 전공과목을 듣고 졸업하려는 원대한 목표를 세웠다. 어떤 과목들은 선수과목이 있어 해당되는 모든 과목을 먼저 이수해야만 해당 과목을 이수할 수 있게 되어 있다. 공학인증을 포기할 수 없는 불쌍한 민욱이는 선수과목 조건을 반드시 지켜야만 한다. 민욱이는 선수과목 조건을 지킬 경우 각각의 전공과목을 언제 이수할 수 있는지 궁금해졌다. 계산을 편리하게 하기 ..
https://www.acmicpc.net/problem/2252 2252번: 줄 세우기 첫째 줄에 N(1 ≤ N ≤ 32,000), M(1 ≤ M ≤ 100,000)이 주어진다. M은 키를 비교한 회수이다. 다음 M개의 줄에는 키를 비교한 두 학생의 번호 A, B가 주어진다. 이는 학생 A가 학생 B의 앞에 서야 한다는 의 www.acmicpc.net 문제 N명의 학생들을 키 순서대로 줄을 세우려고 한다. 각 학생의 키를 직접 재서 정렬하면 간단하겠지만, 마땅한 방법이 없어서 두 학생의 키를 비교하는 방법을 사용하기로 하였다. 그나마도 모든 학생들을 다 비교해 본 것이 아니고, 일부 학생들의 키만을 비교해 보았다. 일부 학생들의 키를 비교한 결과가 주어졌을 때, 줄을 세우는 프로그램을 작성하시오. 입력..
https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩테스트 고득점 Kit의 정렬 Level 2 문제다. 만약에 [1, 0, 0] 이 입력으로 들어온다면 1편의 논문이 1회 이상 인용되었으므로 1이 반환될 것이다. 또한 [5, 4, 3, 1, 1] 이 입력으로 들어온다면 3편의 논문이 3회 이상 인용되었으므로 3이 반환될 것이다. 여기서 규칙을 찾을 수 있다. 논문을 내림차순으로 정렬하고, 배열을 앞에부터 탐색한다. 앞에 원소가 1회..
https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩테스트 고득점 Kit의 정렬 Level 2 문제다. numbers를 문자열로 변환해 배열에 넣고,그 배열을 내림차순으로 정렬한다. 정렬한 순서대로 이어붙여 return하면 된다. 문자열을 이어붙이려는 경우 String의 +=보다 StringBuilder의 append를 사용하는게 훨씬 효율적이다. (String은 +=할 때마다 새로운 주소의 객체를 생성하기 때문) 또한 입력으로 [..