[프로그래머스] Lv.1 완주하지 못한 선수
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 접근 방법1. 참가자들의 이름과 등장횟수를 해쉬맵에 담아준다.2. 완주자들을 순회하며 해쉬맵에서 등장횟수 - 1을 해준다.3. 마지막으로 해쉬맵의 value값을 순회할 때 0이 아닌 값이 있다면, 해당 Key를 리턴해준다.import java.util.*;class Solution { public String solution(String[] participant, String[] compl..
[프로그래머스] Lv.1 없는 숫자 더하기
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/86051?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  class Solution { public int solution(int[] numbers) { int answer = 0; boolean[] visited = new boolean[10]; for(int num : numbers) { visited[num] = true; } ..
[프로그래머스] Lv.0 A로 B 만들기
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/120886 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이 접근 방법1. 해쉬맵을 선언해서 각 문자열의 문자, 등장횟수를 저장한다.2. 해쉬맵을 비교하여 다르다면 0을 리턴하고, 전부 같다면 1을 리턴한다.import java.util.*;class Solution { public int solution(String before, String after) { Map m1 = new HashMap(); Map m2 = ne..
[프로그래머스] Lv.0 중복된 문자 제거
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/120888 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 내 풀이import java.util.*;class Solution { public String solution(String my_string) { String answer = ""; LinkedHashSet set = new LinkedHashSet(); for(char c : my_string.toCharArray()) { ..
[프로그래머스] Lv.0 평행
·
카테고리 없음
https://school.programmers.co.kr/learn/courses/30/lessons/120875#qna 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  문제 풀이 접근1. 기울기가 평행한 조건을 계산한다. (x1,y1), (x2,y2)일떄 (y2-y1) / (x2-x1)이 기울기.2. [a-b, c-d],[a-c, b-d],[a-d, b-c] 세가지 케이스에 대해서 각 결과값이 같다면 1을 리턴, 아니면 0을 리턴 3. double로 값을 계산해야 함.import java.util.*;class Solution { public int..
[프로그래머스] Lv.3 입국 심사
·
카테고리 없음
https://school.programmers.co.kr/learn/courses/30/lessons/43238 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 접근 방법1. n의 값이 10억, 시간도 10억까지 허용 가능하므로 long 타입으로 계산을 해야한다.2. 이분 탐색에서 max 값은 최악의 케이스를 가정한다.  2-1. mid값은 (min + max) / 2로 계산한다.   2-2. times를 돌면서 long 타입의 tmp에 (mid / times[i])를 더해준다. 여기서 계산된 tmp는 mid(총 시간)에 처리 가능한 사람 수      ..
[프로그래머스] Lv.2 순위 검색
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/72412 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 접근 방법1. 문제에서 주어진 Info 정보를 기반으로 해쉬맵을 생성한다.2. 각 해쉬맵의 value를 오름차순으로 정렬한다.3. query 조건에 맞는 지원자를 가져온다.4. 이분 탐색을 통해서 lower bound를 찾는다. import java.util.*;class Solution { static Map> map = new HashMap(); public int[] soluti..
[프로그래머스] Lv.2 메뉴 리뉴얼
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
for(int i = 0; i https://school.programmers.co.kr/learn/courses/30/lessons/72411 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 풀이 접근1. 맨 처음에 주어진 각 order를 정렬하자. (AW, WA는 같은 값이여야 한다)2. 각 order를 기준으로 courseLength ex) 2,3,4.. 만큼 조합을 만들자3. 가장 많이 등장한 조합을 answer에 저장하자3-1. 해쉬맵의 value값들을 리스트에 담고, max 값을 찾는다.3-2. 해쉬맵을 순회하면서 value값과 max값이 동일하..
[프로그래머스] Lv.2 가장 큰 수
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이 접근 방법1. 일의 자리가 가장 큰 값이 앞으로 와야하므로, 그 값을 기준으로 정렬한다.2. 일의 자리 숫자가 같을 때, compareTo()를 사용하여 나머지 숫자를 비교하고 정렬한다.3. 일의 자리를 기준으로 오름차순 되어있으므로, 뒤에서 부터 String 결과값에 더해준다. import java.util.*;class Solution { public String solution(int..
[프로그래머스] Lv.2 문자열 내 마음대로 정렬하기
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/12915 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  비교하는 문자를 기존 문자열 앞에 붙여서 정렬하는 방식import java.util.*;class Solution { public String[] solution(String[] strings, int n) { String[] answer = new String[strings.length]; List list = new ArrayList(); ..