코딩테스트 & 알고리즘 및 기타/프로그래머스

프로그래머스 코딩테스트 입문 5

정데브 2022. 11. 28. 00:42

2022.11.27일 8문제 완료 기록.

 

  • 약수 구하기
import java.util.*;
class Solution {
    public List<Integer> solution(int n) {
        List<Integer> answer = new ArrayList<>();
        
        for(int i =1;i<=n;i++){
            for(int j=1;j<=n;j++){
                if(i*j==n){
                	answer.add(i);
                }
            }
        }
        return answer;
    }
}

 

  • 주사위의 개수
class Solution {
    public int solution(int[] box, int n) {
        int answer = (box[0]/n)* (box[1]/n) *(box[2]/n);
        return answer;
    }
}

 

  • 암호 해독
class Solution {
    public String solution(String cipher, int code) {
        String answer = "";
        
        for(int i=1;i<=cipher.length();i++) {
			if(i%code==0) {
				answer+=cipher.charAt(i-1);
			}
		}
        return answer;
    }
}

 

  • 배열 회전시키기
class Solution {
    public int[] solution(int[] numbers, String direction) {

		int[] answer = new int[numbers.length];

		//[455, 6, 4, -1, 45, 6, 4]
		for(int i=0;i<numbers.length;i++) {		
			if(direction.equals("left")) {
				if(i==0) {
					answer[numbers.length-1]=numbers[0]; //맨앞에 4가 맨뒤로 가도록...
				}else {
					answer[i-1]=numbers[i];
				}
			}else {
				if(i==0) {
					answer[0]=numbers[numbers.length-1];
				}else {
					answer[i]=numbers[i-1];
				}
			}

		}
        return answer;
    }
}

 

  • 인덱스 바꾸기
import java.util.*;
class Solution {
    public String solution(String my_string, int num1, int num2) {
        String answer = "";

        char ch1 = my_string.charAt(num1);
        char ch2 = my_string.charAt(num2);

        char[] chars = my_string.toCharArray();
        
        chars[num1] = ch2;
        chars[num2] = ch1;
 
        answer = String.valueOf(chars);
        
        return answer;
    }
}

 

  • 숫자 찾기
class Solution {
    public int solution(int num, int k) {
        int answer = 0;
        String[] st=Integer.toString(num).split("");
		
		for(int i=0;i<st.length;i++) {
			if(st[i].equals(Integer.toString(k))) {
				answer=i+1;
                break;
			}else{
                answer=-1;
            }
		}
        return answer;
    }
}

 

  • 외계행성의 나이
class Solution {
    public String solution(int age) {
        String answer = "";
        char[] arr = Integer.toString(age).toCharArray();
				
		for(int i=0;i<arr.length;i++) {
			 answer += (char)(arr[i]+49); //아스키코드로 변환...
		}
        return answer;
    }
}

 

  • 피자 나눠 먹기 (2)
class Solution {
    public int solution(int n) {
        int answer = 0;
        int sum=6;
        
	    while(sum%n!= 0) {
	        sum+=6;
	    } 
        answer=sum/6;
        
        return answer;
    }
}