전체 글 (894) 썸네일형 리스트형 [JAVA] 프로그래머스 - 정수 제곱근 판별 https://school.programmers.co.kr/learn/courses/30/lessons/12934 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 정답 class Solution { public long solution(long n) { long answer = 0; if(Math.pow((int)Math.sqrt(n),2)==n) { answer = (long)Math.pow(Math.sqrt(n)+1,2); } else .. [JAVA] 프로그래머스 - 정수 내림차순으로 배치하기 https://school.programmers.co.kr/learn/courses/30/lessons/12933 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 정답 import java.util.Arrays;class Solution { public long solution(long n) { long answer = 0; StringBuilder sb = new StringBuilder(); String s = String.valueOf(n); String str.. [JAVA] 프로그래머스 - 자연수 뒤집어 배열로 만들기 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 정답 class Solution { public int[] solution(long n) { String s = String.valueOf(n); //12345 int[] answer = new int[s.length()]; int idx = 0; for(int i=s.length()-1; i>=0; i--) { .. [자바 알고리즘 인터뷰] ch 11 해시 테이블 (5) 완주하지 못한 선수 https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이 1) 해시 테이블을 이용한 풀이 - 참여한 선수 배열에서 완주한 선수 배열을 제외하면 1명이 남으며, 이 값을 찾아내는 문제다. - 동명이인이 등장할 수 있으므로, 이름을 키로 인원을 값으로 한 해시 테이블로 처리하여 동명이인인 경우에는 해당 키의 값을 +1 해준다. - 그런 다음 완주한 선수의 이름을 추출해 해시맵에서 하나씩 삭제하면 된다. 값을 -1 하다가 만약 1인 경우 해시맵.. [자바 알고리즘 인터뷰] ch 11. 해시 테이블 (4) 상위 k빈도 엘리먼트 https://leetcode.com/problems/top-k-frequent-elements/description/ - 빈도순으로 k개의 엘리먼트를 추출하라 풀이 1) 빈도수를 저장하고 빈도순으로 엘리먼트 추출 - 각 엘리먼트의 빈도를 추출하고 이를 빈도순으로 저장하거나 정렬한 다음, k번만큼 추출하면 문제를 풀이할 수 있다 . - 각 엘리먼트의 빈도 추출- 입력값 nums를 반복하며 빈도수를 저장할 해시맵 frequencyMap을 선언하고 여기에 빈도를 저장한다. - 처음 빈도를 계산한다면 0으로, 기존에 값이 있다면 그 값을 가져오고 모두 +1을 한다. //각 엘리먼트의 빈도수를 저장할 해시맵 선언, 엘리먼트=> 빈도수Map frequencyMap = new HashMap();//각 엘리먼.. [자바 알고리즘 인터뷰] ch 11. 해시 테이블 (3) 중복 문자 없는 가장 긴 부분 문자열 https://leetcode.com/problems/longest-substring-without-repeating-characters/description/ - 중복 문자가 없는 가장 긴 부분 문자열(Substirng)의 길이를 리턴하라 풀이 1) 슬라이딩 윈도우와 투 포인터로 크기 조절 - 슬라이딩 윈도우로 한 칸씩 우측으로 이동하면서 윈도우 내에 모든 문자가 중복이 없도록 투 포인터로 윈도우 크기를 조절하면서 풀이해보면 다음과 같다. - 슬라이딩 윈도우의 각 단계별로 중복 문자가 없는 윈도우의 최대 길이를 순서대로 표시했다. - 먼저 투 포인터로 문제를 풀이하되, 포인터 2개 모두 왼쪽에서 출발한다. - 각각 왼쪽 시작점에서 출발해 두 번째 포인터(right변수)는 다음과 같이 현재.. [자바 알고리즘 인터뷰] ch 11. 해시 테이블 (2) 보석과 돌 https://leetcode.com/problems/jewels-and-stones/description/ - J는 보석이며, S는 갖고 있는 돌이다. S에는 보석이 몇개나 있을까? 대소문자는 구분한다. 풀이 1) 해시 테이블을 이용한 풀이 - 갖고 있는 돌 stones의 엘리먼트 각각의 개수를 모두 헤아린 다음, jewels의 각 엘리먼트를 키로 하는 각각의 개수를 합산- 먼저 freqs라는 해시 맵을 선언Map freqs = new HashMap(); - 돌의 모음인 stones를 문자 단위로 하나씩 분리해 반복한다. 만약 처음 등장한 문자라면 1을 선언하고, 기존에 있던 문자라면 1을 더한다. //돌(S)의 빈도수 계산for(char s : stones.toCharArray()){ /.. [JAVA] 프로그래머스 체육복 https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이 - 그리디(greedy) 알고리즘은 최적해를 구하는 방법으로 여러 경우 중 하나를 결정할 때 그 순간이 최적이라고 생각되는 것을 선택하는 방식- 때문에 항상 최적해를 보장해주진 않지만 대부분의 경우 최적해를 찾기 적합한 알고리즘이다. 체육복 프로그래머스 java 자바 문제 풀이 (youtube.com) - 여벌의 체육복을 최대한 빌려준 뒤 체육복을 가진 학생 수를 구하라 - 여.. 이전 1 ··· 13 14 15 16 17 18 19 ··· 112 다음