algorithm

Algorithms/프로그래머스

[프로그래머스] '캐릭터의 좌표' - Java

머쓱이는 RPG게임을 하고 있습니다. 게임에는 up, down, left, right 방향키가 있으며 각 키를 누르면 위, 아래, 왼쪽, 오른쪽으로 한 칸씩 이동합니다. 예를 들어 [0,0]에서 up을 누른다면 캐릭터의 좌표는 [0, 1], down을 누른다면 [0, -1], left를 누른다면 [-1, 0], right를 누른다면 [1, 0]입니다. 머쓱이가 입력한 방향키의 배열 keyinput와 맵의 크기 board이 매개변수로 주어집니다. 캐릭터는 항상 [0,0]에서 시작할 때 키 입력이 모두 끝난 뒤에 캐릭터의 좌표 [x, y]를 return하도록 solution 함수를 완성해주세요. 이동로직을 자바 코드단에서 좌표계로 표현하는 과정이었다. Try 1) int[] answer = {0, 0}; i..

Algorithms/프로그래머스

[프로그래머스] '가까운 수' - Java

정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요. 가까운 수라는 개념을 어떻게 구현해야할지 먼저 생각해보아야했다. 앞 뒤 값으로 n값과의 차이가 가장 적은 것을 구해야했다. Try 1) int answer = 0; // 초기값은 배열의 첫번째값 차이로 설정 int diff = Math.abs(array[0] - n); int target = 0; for(int i = 0; i Math.abs(array[i] - n)){ diff = Math.abs(array[i] - n); target = array[i]; } } answer =..

Algorithms/프로그래머스

[프로그래머스] '숨어있는 숫자의 덧셈 (1)' - Java

문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요. 문자열 정렬하기(1) 문제와 유사한 문제이다. 정수배열로부터 temp에 입력받은 값들을 answer에 누적해주면 되는 문제이다. Try 1) int answer = 0; String string_num = my_string.replaceAll("[^0-9]", ""); int num_int = Integer.parseInt(string_num); int[] temp = new int[string_num.length()]; int i = 0; while(num_int > 0) { temp[i] = num_int % 10; i++; num_int = num_in..

Algorithms/프로그래머스

[프로그래머스] 'k의 개수' - Java

1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요. 입력받은 범위에서 타겟 Number를 조사하는 문제이다. 일반적인 정수형으로 처리하기보다 Integer.toString을 통해 String형으로 바꾸고, char 자료형으로 target에 해당하는 "문자"를 찾고자 하였다. String r_s = ""; String target = Integer.toString(k); char token; char target_c; token = r_s.charAt(m); target_c = target.charAt(0); 입력받은 k값을 S..

Algorithms/프로그래머스

[프로그래머스] '최댓값 만들기 (1)' - Java

정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요. Try 1) int answer = 0; // 첫번째 최대값을 구하는 반복문 int max = Integer.MIN_VALUE; for(int i = 0; i < numbers.length; i++) { if(max < numbers[i]) max = numbers[i]; } // 두번째로 큰 최대값을 구하는 반복문 int max2 = Integer.MIN_VALUE; for(int i = 0; i < numbers.length; i++) { if(max2 < numbers[i] && max != numbers[i]) max2 = numb..

Algorithms/프로그래머스

[프로그래머스] '모음 제거' - Java

영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요. Try 1) StringBuffer sb = new StringBuffer(); sb.append(my_string); int target = -1; for(int i = 0; i < my_string.length(); i++) { if(my_string.contains("a") || my_string.contains("e") || my_string.contains("i") || my_string.contains("o") || my_string.contains("u")) { target = i; } if(..

Algorithms/프로그래머스

[프로그래머스] '약수 구하기' - Java

정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요. n의 약수도 구하고, 오름차순 정렬까지하는 문제이다. 정렬을 편히 하기 위해 리스트를 선언하고자 하였다. 가장 첫번째 수는 무조건 1이므로 temp.add(0, 1); 로 0번째 수는 넣어주었다. 약수는 1을 제외한 수이므로 temp.remove(0); 을 통해 모든 약수를 구한 후에는 다시 1을 지워주었다. public class divisor { // 리스트를 활용하여 answer에 약수를 담음 public static int[] solution(int n) { List temp = new ArrayList(); temp.add(0, 1); int k = 1; for(int ..

Algorithms/프로그래머스

[프로그래머스] '합성수 찾기' - Java

약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요. 먼저 합성수의 개념을 알고, 약수를 찾는 로직을 작성해야했다. Try 1) public static int solution(int n) { int answer = 0; List temp = new ArrayList(); int k = 0; int cnt = 0; // 테스트케이스 // // i = 1, n = 10 // if(n % i == 0){ // i = {1, 2, 5, 10} // 1부터 ~ n까지 반복하면서 for(int i = 2; i > 약수찾기 로직을 활용해 풀어보고자 하였지만 잘 되지 않았던 첫시도였다. // 약수 찾기 ..

Algorithms/프로그래머스

[프로그래머스] '영어가 싫어요' - Java

영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요. 주어진 영단어를 숫자로 먼저 바꿔주는 데이터셋이 필요하였다. zero, one... nine (0~9)까지 numbers.replace("zero", "0"); 로 모두 바꿔준다. numbers = numbers.replace("zero", "0"); numbers = numbers.replace("one", "1"); numbers = numbers.replace("two", "2"); numbers = numbers.replace("three", "3"); numbers = numbers.repla..

LEFT
'algorithm' 태그의 글 목록