[Java] 프로그래머스 : 예상 대진표 https://school.programmers.co.kr/learn/courses/30/lessons/12985 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 토너먼트가 진행될 때마다 변하게 되는 순서에 포커스를 두어야 하는 문제입니다. 첫번째 케이스를 예시로 들면, 1~8번까지의 참가자는 다음과 같이 순서를 부여받게 됩니다. 4번 참가자와 7번 참가자가 몇 번째에 만나는지 알기 위해서는 각각의 숫자를 반복문을 돌리면서 새로 부여될 번호로 바꾸고, 두 숫자가 같아질 때까지 몇 번이나 순회를 하였는지를 구하면..
[Java] 프로그래머스 : 구명보트 https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 limit가 100일 때 다음과 같은 테스트 케이스를 가정한다. [40, 70, 20, 50] -> 제일 가벼운 애들부터 태우는 경우 20 + 40 answer++ 50 + 70 > 100 -> answer+= 2 이런 방식으로는 3개의 구명보트가 필요하다. 50인 친구에 대한 구명보트와 70인 친구에 대한 구명보트가 각각 필요하기 때문이..
[Java] 프로그래머스 : 크레인 인형뽑기 게임 https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 바구니는 스택으로 구현하고, 집어들어 올린 인형과 스택의 최상단에 있는 값이 일치할 경우, answer에 2점씩 추가해주면 된다. moves 각각의 값은 집게가 움직이는 고정된 열이며, 행은 board.length를 순회하도록 하여 집게의 움직임을 구현할 수 있다. 인형을 집었으면 해당 위치를 0으로 만들어서 나중에 집게가 똑같은 위치를 오게..
[Java] 프로그래머스 : 달리기 경주 https://xn--school-he5x.programmers.co.kr/learn/courses/30/lessons/178871?language=java 접근 처음에는 '그냥 리스트로 받아서 각각 스와이핑 하면 되는 거 아닌가?' 라고 생각했다. 리스트의 indexOf를 사용하면 해당 값에 대한 인덱스 값을 쉽게 찾아낼 수 있기 때문이었다. import java.util.*; class Solution { public String[] solution(String[] players, String[] callings) { String[] answer = new String[players.length]; List list = new ArrayList(); for (..
[Java] 프로그래머스 : 둘만의 암호 https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 문자열 s를 문자 단위로 순회하면서 각각의 값을 Strnig으로 변환하여 skip에 값이 있는 경우를 건너뛰도록 하는 방식으로 접근했다. 코드1 class Solution { public String solution(String str, String skip, int index) { StringBuilder sb = new StringBuilder(..
[Java] 프로그래머스 : 체육복 https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 '여벌 체육복을 가져온 학생이 도난 당했을 경우를 가정하고, 이 학생은 다른 학생들에게 체육복을 빌려줄 수 없다.' lost와 reserve에 동시에 존재하는 학생인 경우, 결국 체육복이 하나뿐이므로 자기만 입을 수 있다는 말이다. n= 6, lost = [6, 4, 2], reserve = [1, 4, 5], return = 5이다. 이때 4가 위의 케이..