본문 바로가기
반응형

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

프로그래머스 4주차 직업군 추천하기 자바 java 풀이 1. 직업군 언어 점수 문자열은 공백으로 위치가 정해져 있기 때문에 split 함수를 이용해서 배열로 만들어냅니다. 2. 직업군 언어 배열(table을 split 한 배열)과 개발자 언어 선호도 배열 (languages, preference 배열)은 문자열임으로 equals 함수를 이용해서 비교합니다 3. 점수가 같을 경우 사전순으로 가장 빠른 직업군을 return이라는 조건이 있음으로 compareTo 함수를 이용해서 문자열을 사전순으로 비교합니다. "SI".compareTo("PORTAL") -> 3 SI 문자열은 PORTAL 문자열보다 사전순으로 뒤에 있으므로 양수 "PORTAL".compareTo("SI") -> -3 PORTAL 문자열은 SI 문자열보다 사전순으로 앞에 있으므로 음수 코드 .. 2021. 8. 25.
프로그래머스 2주차 상호 평가 자바 java 풀이 1. 열에서 최대 값 찾기 2. 열에서 최소 값 찾기 3. 자기 자신의 값과 똑같은 값이 있다면 유일한 최고, 최저 조건이 아님으로 예외 4. 평균값으로 학점을 구하는 함수 만들기 코드 class Solution { public String solution(int[][] scores) { String answer = ""; for (int i = 0; i < scores.length; i++) { int ownScore = scores[i][i]; boolean sameScore = true; int max = scores[0][i]; int min = scores[0][i]; int sum = 0; int divide = 0; double avg; for (int j = 0; j < scores... 2021. 8. 24.
프로그래머스 소수 만들기 자바 java 풀이 주어진 숫자 중에서 3개의 숫자를 더한 값이 소수인 경우의 개수를 구하는 것 1. 배열에서 3개의 숫자를 중복 없이 찾는 기능 2. 소수인지 아닌지를 판별하는 기능 1번의 기능은 3중 for문을 이용해서 해결하였고 2번의 소수 판별은 2부터 num-1 까지 나누어서 나누어질 경우 소수가 아니고 나누어지면 소수인 것으로 해결하였다. 코드 class Solution { public int solution(int[] nums) { int count = 0; for (int i = 0; i < nums.length; i++) { for (int j = i + 1; j < nums.length; j++) { for (int k = j + 1; k < nums.length; k++) { if (isPrime(.. 2021. 8. 23.
프로그래머스 숫자 문자열과 영단어 자바 java 풀이 자바의 문자열 치환 함수인 replaceAll 함수를 이용하면 해결하기 쉽다 replaceAll(기존 문자, 바꾸려는 문자) 코드 public int solution(String s) { s = s.replaceAll("zero", "0"); s = s.replaceAll("one", "1"); s = s.replaceAll("two", "2"); s = s.replaceAll("three", "3"); s = s.replaceAll("four", "4"); s = s.replaceAll("five", "5"); s = s.replaceAll("six", "6"); s = s.replaceAll("seven", "7"); s = s.replaceAll("eight", "8"); s = s.repla.. 2021. 8. 19.
프로그래머스 실패율 자바 java 풀이 중요한 조건 1. 실패율이 같을 경우 스테이지가 작은 번호가 우선 2. 스테이지에 도달한 유저가 없는 경우 해당 스테이지의 실패율은 0 hashMap을 이용해서 key는 스테이지 value는 실패율 값을 집어넣어서 해결하였다 테스트 케이스 1, 6, 7, 9, 13, 23, 24, 25가 실패하는 에러가 발생할 경우 0을 나누려다 보니 에러가 계속 나는 것이 원인이 됩니다 N : 5 stage : [1,2,2,1,3]로 테스트 케이스를 추가해보면 원인을 알 수 있습니다 0 값일 경우 해당 스테이지에 실패율을 0을 입력해줘서 해결 코드 import java.util.*; class Solution { public int[] solution(int N, int[] stages) { int[] answe.. 2021. 6. 16.
프로그래머스 약수의 개수와 덧셈 자바 java 풀이 매개변수 left에서 right까지 for문으로 만들어 주고 약수를 찾기 위해서 for문으로 1부터 ~ N까지 모든 경우의 수로 나누는 방법으로 약수를 찾아내고 count변수에 총개수에 넣어줍니다 짝수 홀수를 구분하기 위해서 2로 나누어서 나머지 값이 0이라면 짝수 아니면 홀수로 구분을 합니다 코드 class Solution { public int solution(int left, int right) { int answer = 0; int count; for (int i = left; i 2021. 6. 15.
반응형