반응형

Algorithm/Java 76

프로그래머스 - 음양 더하기 java :: 월간 코드 챌린지 시즌2

76501번 https://school.programmers.co.kr/learn/courses/30/lessons/76501?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 📝풀이1 public int solution(int[] absolutes, boolean[] signs) { int answer = 0; for(int i=0; i

Algorithm/Java 2022.07.06

프로그래머스 - 내적 java :: 월간 코드 챌린지 시즌1

70128번 https://school.programmers.co.kr/learn/courses/30/lessons/70128?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 그냥 각 인덱스를 곱한 후 더하는 문제라 별도 설명은 안하고 stream 풀이와 정석 풀이를 남기고 끝내겠습니다. 풀이1 public int solution2(int[] a, int[] b) { return IntStream.range(0, a.length).map(i -> a[i] * b[i]).sum(); } ✔️ 테스트 케이스 처리속도: 평균 3.5..

Algorithm/Java 2022.07.06

프로그래머스 - 완주하지 못한 선수 java :: 해시 :: 42576

문제 링크 코딩테스트 연습 - 완주하지 못한 선수 | 프로그래머스 스쿨 (programmers.co.kr) 문제 풀이 주의할 점 동명이인이 있을 수 있기 때문에 remove 같은 메소드로는 정답을 구할 수 없습니다. 1번 풀이 public String solution(String[] participant, String[] completion) { String answer = new String(); HashMap map = new HashMap(); for(String runner : participant) map.put(runner, map.getOrDefault(runner, 0) + 1); for(String runner : completion) map.put(runner, map.get(runne..

Algorithm/Java 2022.07.05

프로그래머스 - K번째수 java :: 정렬

42748번 코딩테스트 연습 - K번째수 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 ▶ 주의할 점 ✔ i, j, k 모두 인덱스보다 1이 크다. ✔ i와 j로 새로 만든 배열을 정렬 후 k번째 수를 구해야 한다. 풀이1 public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; for(int m = 0; m

Algorithm/Java 2022.07.05

프로그래머스 - 체육복 java :: 탐욕법(Greedy) :: 42862

문제 링크 코딩테스트 연습 - 체육복 | 프로그래머스 스쿨 (programmers.co.kr) 문제 풀이 보통 이런 문제들을 보면 정답의 기준에서 찾는 것보다 정답이 아닌 것을 기준으로 보고 푸는 게 효율이 좋더라구요. 모두가 체육복을 가지고 있다고 가정하고, 없는 사람을 제거하는 방식으로 풀었습니다. public int solution(int n, int[] lost, int[] reserve) { int[] haves = new int[n+2]; // 0번째 인덱스와, 마지막 인덱스는 비워두는 용도 int answer = n; for(int l : lost) haves[l]--; for(int r : reserve) haves[r]++; for(int i=1; i 0) { haves[i]++; hav..

Algorithm/Java 2022.07.05

프로그래머스 - 모의고사 java :: 완전탐색

42840번 코딩테스트 연습 - 모의고사 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 뭔가 공식이 있는 문제는 아니고, 코드를 얼마나 효율적으로 짜는지가 중요한 문제 같습니다. 풀이1 public int[] solution(int[] answers) { // 수포자 패턴 int[][] supoja_pattern = { { 1, 2, 3, 4, 5 }, { 2, 1, 2, 3, 2, 4, 2, 5 }, { 3, 3, 1, 1, 2, 2, 4, 4, 5, 5 } }; // 정답수 구하기 List..

Algorithm/Java 2022.07.05

프로그래머스 - 폰켓몬 java :: 찾아라 프로그래밍 마에스터

1845번 코딩테스트 연습 - 폰켓몬 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 풀이 문제의 설명은 긴데 핵심은 하나입니다. 중복되지 않은 수를 구하되 (nums / 2) 이하여야 한다는 것입니다. 풀이1 public int solution(int[] nums) { return Math.min(nums.length / 2, IntStream.of(nums).boxed().collect(Collectors.toSet()).size()); } IntSt..

Algorithm/Java 2022.07.04
반응형