알고리즘/프로그래머스 47

[프로그래머스] 없는 숫자 더하기 for JAVA

https://programmers.co.kr/learn/courses/30/lessons/86051?language=java 코딩테스트 연습 - 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 내가 푼 방법 구하는게 없는 숫자의 합이므로 1~9까지 더한 45에서 numbers를 모두 더한 값을 뺐다. class Solution { public int solution(int[] numbers) { int answer = 0; for(int i : numbers) answer += ..

[프로그래머스] 크레인 인형뽑기 게임 for JAVA

https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 내가 푼 코드 결론부터 말하자면 테스트케이스 1,2에서 실패했다. 참내..... 질문하기 들어가서 사람들이 말해준 테스트케이스를 다 해봤는데도 왜 안되는지 모르겠음ㅋ 틀린 코드 import java.util.ArrayList; class Solution { public int solution(int[][] board, int[] moves) { int answer = 0; ArrayLis..

[프로그래머스] 키패드 누르기 for JAVA

https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 내가 푼 방법 우선 1 4 7 나오면 무조건 L, 3 6 9 나오면 무조건 R인건 자명하다. 그리고 2 5 8 0 에서 가까운걸 찾아야하니까 마지막에 누른 L과 R을 따로 저장해놓는다. 2 5 8 0 얘네가 것참 어려웠는데.. 2차원 배열을 써야하나 싶..

[프로그래머스] 숫자 문자열과 영단어 for JAVA

https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 내가 푼 방법 나는 글자수별로 나눠서 풀었다. 이런식으로 하나씩 읽어가며 3글자가 되었을 때 저중에 있는지 확인, 4글자 되면 저중에 확인, 5글자 확인해서 치환하기! class Solution { public int solution(String s) { int answer = 0; String alpha=""; String sub = s; // s에..

[프로그래머스] 신규 아이디 추천 for JAVA

https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 후... 이 문제 여러가지 검색하다가 너무 오래걸려서 다른 사람꺼 보기로 했다. 테스트케이스 1개만 통과되는 개욱긴 코드 다른 사람의 코드를 구경해보니 그냥 문제에 써있는 단계대로 푸는게 좋아보인다. 나는 단계 내맘대로 만들어서 어쩌구 했는데 ㅎㅎ 그래서 망했나? https://minhamina.tistory.com/121 class Solution { ..

[프로그래머스] 로또의 최고 순위와 최저 순위 for JAVA

https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 로또번호 배열 lottos[] -> 0~45 당첨번호 배열 win_nums[] -> 1~45, 같은 숫자 x 출력은 최고순위, 최저순위 순서로 출력한다. 문제를 보면 많이 맞췄을 경우는 0을 다 맞췄을 때, 거의 못맞췄을 경우는 0이 다 틀렸을 때이다. 그래서 0을 뺀 로또번호와 당첨번호를 비교해서 맞춘 개수 + 0..

[프로그래머스] 체육복 for JAVA

그리디 알고리즘에 분류되어있는 level1짜리 문제이다. 내가 풀려던 방법은 arraylist에 1~n까지의 수를 다 넣고 lost인 사람의 숫자를 없애고 reserve -1 과 +1을 비교해서 넣는 방법을 사용하려고 했는데 모든 테스트케이스를 통과하지 못했다.. 50점이었나...? 지금 보니 왜 저렇게 짰는지... 그래서 남의 코드를 봤다!! 내걸로 만들려고 리뷰할거다. 풀이1 1. 먼저 여벌 체육복을 가져온 학생이 잃어버렸으면 +-0이므로 걔네 먼저 확인해줘야한다. 2중 for문으로 lost 배열과 reserver 배열에 같은 값이 있는지 확인하고 같은 값이 있다면 answer에 +1 해주고(수업참여 가능) 두 배열 값을 -1로 초기화한다. 2. 도난당한 학생에게 체육복 빌려주기 여분이 있는 학생은 ..