[프로그래머스 알고리즘 고득점 Kit][해시][Java] 포켓몬
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr정답 코드포켓몬 종류수와 내가 선택해야할 포켓몬 수를 비교해서종류 수가 더 많다면 선택해야할 모든 포켓몬이 중복이 없고 (cnt > len/2 -> len/2만큼 뽑고도 중복없는 포켓몬이 남음)종류 수가 더 적다면 전부 다르게 선택할 수 있음 (cnt cnt만큼 뽑고 나머지는 중복)import java.io.*;import java.util.*;class Solution { public int solution(int[] nums) { i..
[프로그래머스 알고리즘 고득점 Kit][정렬][Java] K번째 수
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42748 정답 코드유의점 i, j, k는 1~n을 따라서 배열의 인덱스를 0~n-1인지 잘 체크해줘야한다. Integer.compare를 쓰는 이유 여기선 필요없는데 (정수 - 정수)가 Integer의 범위를 넘겨 오버플로우가 나는 것을 예방하기 위해사용한다.import java.io.*;import java.util.*;class Solution { public int[] solution(int[] array, int[][] commands) { int m = commands.length; int[] answer = new int[m]; for(int c..
[프로그래머스 알고리즘 고득점 Kit][깊이/너비 우선 탐색(DFS/BFS)][Java] 게임 맵 최단거리
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 정답 풀이V + E -> N*M + 4(N*M) -> O(NM)간단한 bfs 문제import java.io.*;import java.util.*;class Solution { final static int[] dx = {-1, 1, 0, 0}; final static int[] dy = {0, 0, -1, 1}; static int[][] map; public int solution(int[][] maps) { ..
[프로그래머스 알고리즘 고득점 Kit][해시][Java] 완주하지 못한 선수
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/425761. 틀린 코드HashSet에 완주자를 저장하고 참가자 배열을 돌면서 완주자 집합에 없으면 완주하지 못한 선수라 생각하고 코드를 작성했다.문제를 제대로 안읽고 빠르게 풀려다 동명이인이 존재함을 인지하지 못했다.import java.io.*;import java.util.*;class Solution { static HashSet completions; public String solution(String[] participant, String[] completion) { String answer = ""; completions = new Ha..
유클리드 호제법 - 최대공약수 구하기(+ 최소공배수)
·
알고리즘 & 자료구조/내용 정리
알아야할 표현 최대공약수 = GCD = Greatest Common DivisorGCD(A, B) = A와 B의 최대공약수 유클리드 호제법 두 양수 A, B(A > B)에 대하여 A = BQ + R (0 ≤ R 즉, GCD(A, B) = GCD(B, R)R = 0이라면 A, B의 최대공약수는 B가 된다.(출처 - 유클리드 호제법 나무위키) 정리 A와 B의 GCD는 B와 (A를 B로 나눈 나머지)의 GCD와 같다.GCD(A, B) = GCD(B, A%B) 예시 ex) 270, 192의 최대공약수GCD(270, 192) = GCD(192, 78) = GCD(78, 36) = GCD(36, 6) = GCD(6, 0) = 6 증명 나머지는 나눠지는 수가 나누는 수보다 작아질 때까지 빼는 것과 같다. 다르게 말하..
싸피 13기 비전공자 합격 에세이
·
기타
저는 게임 속 이스터에그처럼 개발자가 숨겨 놓은 요소에 관심이 생겼습니다. 소비자에게 필수적인 부분이 아님에도 이런 요소를 추가한 걸 보며 일을 즐기면서 하는구나 느꼈고 그 덕에 개발에 흥미가 생겨 c언어를 독학하기 시작했습니다.하지만 질문할 사람이 없다는 점은 제게 큰 어려움이었습니다. 이를 해결하기 위해 학원에 등록해 즉각적인 피드백을 받으며 로또번호출력, 은행계좌관리 프로그램 등을 만들며 결과를 눈으로 확인하는 과정에서 재미를 느꼈습니다.학원 강의를 통해 C++까지 배웠지만, 경제적 부담으로 독학으로 전환했고, 현재는 알고리즘 스터디와 백준문제풀이를 통해 실력을 키우고 있습니다. 그러나 전공자 스터디원들과 비교해 기초에 부족함을 느껴 이를 보완하고자 싸피에 지원했습니다.싸피에서 탄탄한 기초를 다지고..