반응형

전체 글 198

프로그래머스 - 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

프로그래머스 - 3진법 뒤집기 java :: 월간 코드 챌린지 시즌1 :: 68935

문제 링크 코딩테스트 연습 - 3진법 뒤집기 | 프로그래머스 (programmers.co.kr) 문제 이해하기 문제의 핵심은 3진법을 구하는 겁니다. 3진법 구하는 방법은 n을 3으로 나누어 떨어지는 수를 순서대로 나열하고 그 때마다 n을 3으로 나누면 됩니다. 이 과정을 n이 0이 될 때까지 반복하면 됩니다. 1 n = 45 45 % 3 = 0 45 / 3 = 15 2 n = 15 15 % 3 = 0 15 / 3 = 5 3 n = 5 5 % 3 = 2 5 / 3 = 1 4 n = 1 1 % 3 = 1 1 / 3 = 0 이렇게 구한 나머지 값들을 아래부터 순서대로 나열하면 3진법이 됩니다. (1200) 단, 우리는 3진법을 뒤집어야 하니 아래부터 순서대로 나열하지 말고 위에서부터 순서대로 나열하면 됩니다..

Algorithm/Java 2022.07.04

프로그래머스 - 예산 java :: Summer/Winter Coding(~2018) :: 12982

문제 링크 코딩테스트 연습 - 예산 | 프로그래머스 (programmers.co.kr) 문제 풀이 최대한 많은 부서에 지원을 해줄 수 있는 &#39;수&#39;를 구하는 문제입니다. d를 정렬 후 순서대로 탐색하며 budget을 초과하지 않을 만큼의 수만 구하면 됩니다. 1번 풀이 public int solution(int[] d, int budget) { Arrays.sort(d); int count = 0; for(int num : d) { budget -= num; if(budget < 0) break; count++; } return count; } 입력 배열 d를 정렬 후 순서대로 탐색합니다. 순서대로 탐색하며 해당 금액을 budget에서 빼줍니다. 만약 뺐는데 budget이 0보다 작아지면 예..

Algorithm/Java 2022.07.04

프로그래머스 - 두 개 뽑아서 더하기 java :: 월간 코드 챌린지 시즌1 :: 68644

문제 링크 코딩테스트 연습 - 두 개 뽑아서 더하기 | 프로그래머스 (programmers.co.kr) 문제 이해하기 배열 numbers에 있는 수의 1vs1 덧셈조합을 찾는 문제입니다. 단, 중복이 없어야 하고 오름차순 정렬이 되어야 한다는 게 포인트네요. 중복이 없어야 하니 Set을 사용하면 쉽게 풀 수 있을 거라 생각했고 그 중에서도 TreeSet을 이용하면 정렬까지 되니까 자바로는 아주 쉬운 문제였네요. 문제 풀이 코드 1 public int[] solution(int[] numbers) { Set set = new TreeSet(); for(int i=0; i

Algorithm/Java 2022.07.04

MacBook M1 우측 command 한영키로 바꾸기 (프로그램 미설치)

userkeymapping.plist 설정 아래 명령어 전부 복사해서 터미널에 그대로 붙여넣어 실행시키면 자동으로 키매핑이 준비됩니다. mkdir -p /Users/Shared/bin printf &#39;%s\n&#39; &#39;#!/bin/sh&#39; \ &#39;hidutil property --set &#39;"&#39;"&#39;{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x7000000e7,"HIDKeyboardModifierMappingDst":0x70000006d},{"HIDKeyboardModifierMappingSrc": 0x7000000E6,"HIDKeyboardModifierMappingDst": 0xFF00000003}]}&#3..

Info 2022.07.04
반응형