프로그래머스 자바

Algorithms/프로그래머스

[프로그래머스] '2차원으로 만들기' - Java

정수 배열 num_list와 정수 n이 매개변수로 주어집니다. num_list를 다음 설명과 같이 2차원 배열로 바꿔 return하도록 solution 함수를 완성해주세요. num_list가 [1, 2, 3, 4, 5, 6, 7, 8] 로 길이가 8이고 n이 2이므로 num_list를 2 * 4 배열로 다음과 같이 변경합니다. 2차원으로 바꿀 때에는 num_list의 원소들을 앞에서부터 n개씩 나눠 2차원 배열로 변경합니다. 1차원배열을 2차원배열로 만드는 문제였다. 대신 n개씩 나누는 매개변수 n이 주어지는데, 이 n은 n * x 배열로 만들어진다는 의미이다. = 한 행당 n개 /* 테스트케이스 answer[0][?] = [1,2] answer[1][?] = [3,4] answer[2][?] = [5,..

Algorithms/프로그래머스

[프로그래머스] '모스부호 (1)' - Java

머쓱이는 친구에게 모스부호를 이용한 편지를 받았습니다. 그냥은 읽을 수 없어 이를 해독하는 프로그램을 만들려고 합니다. 문자열 letter가 매개변수로 주어질 때, letter를 영어 소문자로 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요. 모스부호는 정해진 패턴이 있으므로 그에 해당하는 데이터셋을 만들어야했다. Try 1) // answer에 더해지지 않음, 비효율적 String[] list = letter.split(" "); for(int i = 0; i < list.length; i++) { String cp = list[i]; if(cp == ".-") answer+= "a"; else if(cp == "-...") answer+= "b"; else if(cp == "-...

Algorithms/프로그래머스

[프로그래머스] '순서쌍의 개수' - Java

순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return하도록 solution 함수를 완성해주세요. 특정 숫자가 정해질때 두 숫자의 곱이 그 특정숫자가 되도록 하는 숫자 순서쌍을 찾는 문제이다. Try 1) 시간 초과 및 모든 테스트 통과 실패 /* >> 두번째 반복문에서 조건식을 생략했던 점이 시간초과의 원인인 것 같았다. >> 실제 곱셈 로직을 생각하기보다 어떻게하면 answer값이 증가될 수 있을지 생각해야할 것 같았다. */ // 첫번째 매개변수 (이중 반복문 처리) for(int i = 1; i

Algorithms/프로그래머스

[프로그래머스] '진료 순서 정하기' - Java

외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요. 처음에는 응급도 배열에서 최소값을 [0]번째 인덱스 값으로 초기화 후 rank를 부여하며 찾고자 하였다. Try 1) // 오답 int min = Integer.MIN_VALUE; min = emergency[0]; // 순위의 최대값 = emergency 배열의 길이 int rank = emergency.length; for(int i = 0; i emergency[i]){ min ..

Algorithms/프로그래머스

[프로그래머스] '옹알이 (1)' - Java

머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 옹알이로 발음할 수 있는 문자가 해당 문자열에 포함되어있는지를 판단하는 문제였다. 임의로 문자열을 쪼개서 검사할 수 없기 때문에 처음에는 조금 난잡한 조건문으로 풀어보았다. Try 1) //babbling[i] 의 길이가 15에 가까울수록 더 복잡해지므로 수정필요 // 주어진 문자열 갯수만큼 반복하면서 for(int i = 0; i < babbling.leng..

Algorithms/프로그래머스

[프로그래머스] '대문자와 소문자' - Java

문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요. 적절한 메서드를 사용하여 대문자를 소문자로 바꾸고, 소문자를 대문자로 바꾸는 과정이 필요하였다. 아스키코드를 더하고 빼는 방식으로도 구할 수 있지만 이번 풀이에서는 Character.isLowerCase() 와 Character.isUpperCase() 메서드를 사용하여 풀어보았다. if(Character.isLowerCase(my_string.charAt(i)) == true){ answer += Character.toUpperCase(my_string.charAt(i)); } isLowerCase의 반환값은 boolean 타입이므로 my_stri..

Algorithms/프로그래머스

[프로그래머스] '배열 뒤집기' - Java

정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요. 배열의 위치를 바꾸는 문제이다. 좌측변수와 우측변수를 두고 그 인덱스를 증가, 감소시켜가며 대칭되는 구조의 배열을 변경해나가면 되는 문제이다. temp를 두어 값이 중간에 삭제되지 않도록 하였다. for(int i = 0 ; i < num_list.length / 2; i++) { temp = num_list[lt]; num_list[lt] = num_list[rt]; num_list[rt] = temp; lt++; rt--; if(lt == rt) break; } 만약 홀수길이의 배열이어서 lt와 rt의 길이가 같아진다면 break..

카테고리 없음

[프로그래머스] '문자 반복 출력하기' - Java

문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요. 특정 문자만 N번 반복하는 것이 아닌 모든 문자를 N번 반복하는 것이었기때문에 조건문 없이 이중 for문을 돌리면 되는 문제였다. public class repeat_string { public static String solution(String my_string, int n) { String answer = ""; for (int i = 0; i < my_string.length(); i++) { for (int j = 0; j < n; j++) { //System.out.print(my_string.charAt(i)); ..

Algorithms/프로그래머스

[프로그래머스] '외계행성의 나이' - Java

우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요. 암호해독과 마찬가지로 하나의 문자에 다른 문자가 대응되는 문제이다. 입력받는 숫자에 따라 "문자"를 구성하여 리턴하면 되었다. solution()함수 외로 planet() 함수를 만들어 그 안에 switch-case문으로 대응되는 문자를 작성하고 필요시마다 함수를 ..

LEFT
'프로그래머스 자바' 태그의 글 목록 (5 Page)