전체 글

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 1. HashMap hm 를 선언사여 key값에 피신고자 , value 값에 신고자를 입력 . ( A 신고자가 B 피신고자를 중복하여 신고하여도 1회 신고만 인정해야 하므로 HashSet 으로 중복 제거 ) 2. hm 의 사이즈가 k 보다 크면 hm의 value 값에 있는 신고자들은 메시지를 받을 대상으로 체크 ( 카운팅 ) 나의풀이 ( 코드 ) import java.util.*; class Solution { public int[] solution(String[..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 1. HashMap 를 이용하여 key 값에 성격 유형 , Value 값에 점수를 입력 2. 아래 점수 표는 다음 코드와 같이 계산하여 HashMap에 입력 for (int i = 0; i < survey.length; i++) { String a = String.valueOf(survey[i].charAt(choices[i] / 4)); if (choices[i] != 4) { hm.put(a, hm.get(a) + Math.abs(4 - choices[i])); } } choic..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 1. 인형을 뽑아서 바구니에 넣는데, 바닥에서부터 차곡차곡 쌓임 ( Stack 사용 ) 2. 같은 인형이 바구니에 겹치면 제거 ( Stack 의 pop 와 peek 활용 ) 나의풀이 ( 코드 ) import java.util.*; class Solution { public int solution(int[][] board, int[] moves) { int answer = 0; Stack stack = new Stack(); for (int move : moves) { for (int j = 0; j ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 1. 학생수 n 보다 2 큰 n+2 크기의 int[] arr을 생성 ( +2를 하는 이유는 코드를 줄이기 위함. 잃어버린 학생이 첫번째 학생일 때 좌우를 비교하는 경우 인덱스 [-1] 은 없는 인덱스 , 마찬가지로 맨 마지막 학생의 경우 그 다음 학생 arr[ n+1 ] 은 없는 인덱스 이므로 n+2 크기의 배열을 생성하여 맨 처음과 끝 인덱스를 추가 ) 2. arr [ lost [ i ] ] 는 - - , arr [ reverse [ i ] ] 는 + + 로 잃어버린 학생 , 빌려줄 수 있는 학생 ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 1. 중복관련 문제이므로 Hash 사용 ( 이 문제에선 HashMap 을 사용함 ) 2. HashMap의 getOrDefault 를 사용하여 participant 를 순회하여 + 카운팅 , completion을 순회하여 - 카운팅 3. 2과정을 거쳐 참가자( key )중 value 값이 0이 아닌 ( 1인경우 ) 참가자는 완주하지 못했으므로 answer 에 대입 for (String s : participant) { // 참가자 카운팅 ++ hm.put(s, hm.getOrDefault(s, 0) +..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 1. 0의 개수를 카운팅하고 , lotoos[] 와 win_nums[] 의 원소중 중복숫자를 카운팅한다. 2. 중복개수 + 0의 개수는 최고 등수 , 중복개수는 최저 등수 3. 중복을 활용하는 문제로 HashSet을 사용해도 무방 ( 사용하지 않아도 됨 ) 나의풀이 ( 코드 ) 일반 풀이 class Solution { public int[] solution(int[] lottos, int[] win_nums) { int[] answer = new int[2]; int[] grade = {6, 6, 5..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 1. 다트는 총 3회 던지므로 3크기의 int 배열 생성 2. S는 싱글 D는 더블 T는 트리플에 맞게 계산을 해주는 메서드 생성 3. ' * ' , ' # ' 를 계산하는 로직 생성 4. 숫자가 일의자리가 아닌 십의자리 이상이 올 수 있으므로, 알파벳이 오기 전까지 숫자를 이어붙이기 위해 StringBuilder 를 사용 5. 알파벳이 오고 난 후 계산을 하고 필요 없어진 이 전 숫자 StringBuilder 를 초기화하기 위해 StringBuilder 의 setLength(0) 을 사용 나의풀이 ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 1. [프로그래머스/JAVA 자바] 옹알이 (1) — dlrdyd97 (tistory.com) 의 응용문제. 2. 옹알이 ( 1 ) 의 문제풀이에서 연속으로 같은 발음을 하는 경우 카운트를 X 해주면 된다. ( "ayaaya" , "yeeyee" 등... ) 나의풀이 ( 코드 ) class Solution { public int solution(String[] babbling) { String[] pronunciation = { "aya", "ye", "woo", "ma" }; int answer =..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 1. String 의 replace를 이용하여 옹알이 단어를 "1" 로 모두 변경 2. "1"로 변경 후 "1" 을 "" 공백으로 치환하고 나서 문자가 있는경우 머쓱이가 발음할 수 없는 단어로 취급 3. 옹알이 단어를 바로 공백으로 바꾸지않고, 1로 변경 후 , 다시 1에서 공백으로 변경하는 이유는 아래 코드를 테스트 해보면 된다. "yayae" 는 옹알이가 발음할 수 없는 단어지만, 옹달이 단어를 1로 바꾸는 과정없이 바로 공백으로 바꾸면 "yayae" -> "ye" ( aya가 공백으로 바뀜 ) ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 1. 실패율을 내림차순으로 정렬한 배열1 , 스테이지순으로 정렬된 실패율 배열2 총 2개의 배열을 만든다. 2. 배열1과 배열2를 비교하면서 배열1 [ 0 ] 부터 시작하여 배열1을 기준으로 배열1 [ i ] 와 배열2 [ j ] 가 일치하면 answer [ ] = j 를 한다. 3. 2과정을 거친 배열2 [ j ] 는 값을 -1로 바꿔준다. 4. 주의점으로는 실패율을 계산할때 분모가 0일 경우 ( 스테이지 도달자가 없는 경우 ) 계산을 하지않고 0을 넣어야 한다. 계산을 하게되면 컴파일에러나 NaN..
dlrdyd97
dlrdyd97