자바
-
[프로그래머스] 카드 뭉치 자바코딩테스트 2025. 3. 30. 13:37
https://school.programmers.co.kr/learn/courses/30/lessons/159994 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제주어진 카드뭉치 cards1과 cards2를 활용하여 goal의 문장을 완성할 수 있는지 판단하라.각 카드뭉치는 순서대로만 꺼낼 수 있으며, 한번 사용한 카드는 재사용 할 수 없다. 최초접근Map을 사용해 cards1과 cards2 정보를 모두 담은 후 goal을 순회하여 순서대로 꺼낼 수 있는지 체크하는 로직을 작성 public static String solution(String[] cards1, String[] cards2, Strin..
-
[프로그래머스] 덧칠하기 자바코딩테스트 2025. 3. 29. 23:54
https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제길이가 n인 벽을 n개로 나누었을 때, 새로 칠해야 하는 구획 int[] section 을 길이가 m인 롤러로 모두 색칠하는데 필요한 최소횟수를 구하라. 접근마지막 section인 lastIdx - 처음 section인 firstIdx 그 외의 경우 firstIdx부터 n 까지 m 씩 이동하여 answer ++ 시도.그러나 단순히 firstIdx += m 씩 칠하는 결과였으므로 문제에서 원하는 방식이 아니었다. 수정section을 순회하..
-
[프로그래머스]공원 산책 자바코딩테스트 2025. 3. 29. 13:41
https://school.programmers.co.kr/learn/courses/30/lessons/172928 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr시작점 S, 이동가능 O, 장애물 X 세가지 요소로 구성된 String[] park 구조를 기준으로주어진 이동명령 String[] routes = {"W|E|N|S x"}; // 동서남북 x 만큼 이동하는 명령들을 수행했을 때 최종 좌표 int[] {h, w}를 반환하는 문제.- 이동후 위치가 공원범위를 벗어나거나 경로에서 장애물을 만나면 해당 명령은 수행하지 않는다는 규칙이 있음. 먼저 String[] park 를 반복문을 통해 int[][]..
-
[프로그래머스] 연습문제 달리기 경주 자바코딩테스트 2025. 3. 28. 12:50
https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr현재 주자 정보인 String[] players를 추월 정보인 String[] callings 에 따라 players를 변경한 뒤 반환.callings에서 지명될 때 마다 players에서 해당 주자와 그 앞 주자의 순서를 바꾼다. 최초에는 players의 index를OptionalInt idx = IntStream.range(0, players.length).filter(i -> players[i].equals(call)).findFirst(..
-
[프로그래머스] [PCCE 기출문제] 9번 / 이웃한 칸 자바코딩테스트 2025. 3. 28. 11:02
https://school.programmers.co.kr/learn/courses/30/lessons/250125 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr대상 board[h][w] 와 이웃한 칸 (위, 왼, 오른, 아래) 칸을 비교하여 같은 색의 수를 반환하는 문제나는 0 == h || h == board.length -1 || else 케이스와 0 == w || w == board[0].length -1 || else 케이스를 분리하여 계산하도록 처리하여 문제를 해결하였다. public int solution(String[][] board, int h, int w) { int bo..
-
[프로그래머스]붕대감기 자바코딩테스트 2025. 3. 27. 17:22
https://school.programmers.co.kr/learn/courses/30/lessons/250137 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 마지막 공격이 끝날 때 까지 붕대감기스킬을 시전하여 체력을 회복하고 남은 hp를 반환하는 문제.도중 체력이 0이 되면 -1을 반환하고, 그 외의 경우 남은 체력을 반환해야 한다. 이중배열에 담긴 attack 정보를int[] attackTimes 와 attackDamages로 분류하기 위해 Arrays.stream(attacks).mapToInt(attack -> attack[x]).toArray()를 사용해보았고현재 시점이 피격시점인지 파악하..
-
[프로그래머스] [PCCE 기출문제] 9번 / 지폐 접기 자바코딩테스트 2025. 3. 25. 16:16
https://school.programmers.co.kr/learn/courses/30/lessons/340199 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 반복문을 사용하여, 지폐크기를 비교한 후 지폐크기 여기서 지폐의 회전을 허용하므로 두 종류의 비교를 사용하여 문제를 처리하였다.- billX - billY - 둘 중 하나의 조건에 부합할 때 까지 조건문을 반복하고 반복횟수를 반환한다 public int solution(int[] wallet, int[] bill) { return calFold(wallet, bill); } // 접은 횟수 반환 public..
-
[프로그래머스] 유연근무제 자바코딩테스트 2025. 3. 24. 19:09
https://school.programmers.co.kr/learn/courses/30/lessons/388351 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 여러 방법을 시도 해보았는데, 주말을 기준에서 제외하기 위해 토요일과 일요일의 인덱스를 도출하는 것이 어려웠다.한참을 헤메다 결국 다른 분들의 소스를 참고하여 해결하였다. 두 출처에서 각각 토요일과 일요일을1. (startday + j) % 7 > 0 && (startday + j) % 7 의 방식으로 처리할 수 있다는 점을 배울 수 있었다. //방법1public int solution(int[] schedules, int[][] timel..