문제 1:
수열과 구간 쿼리 1
문제 설명
정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [s, e] 꼴입니다.
각 query마다 순서대로 s ≤ i ≤ e인 모든 i에 대해 arr [i]에 1을 더합니다.
위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요.
제한사항
1 ≤ arr의 길이 ≤ 1,000
0 ≤ arr의 원소 ≤ 1,000,000
1 ≤ queries의 길이 ≤ 1,000
0 ≤ s ≤ e < arr의 길이
입출력 예
arr queries result
[0, 1, 2, 3, 4] [[0, 1],[1, 2], [2, 3]] [1, 3, 4, 4, 4]
코드:
class Solution {
public int[] solution(int[] arr, int[][] queries) {
for(int[] query : queries){
int s = query[0];
int e = query[1];
for(int i = s; i <= e; i++){
arr[i]++;
}
}
return arr;
}
}
문제 2:
외계행성의 나이
문제 설명
우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2,..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return 하도록 solution 함수를 완성해 주세요.
제한사항
age는 자연수입니다.
age ≤ 1,000
PROGRAMMERS-962 행성은 알파벳 소문자만 사용합니다.
입출력 예
age result
23 "cd"
51 "fb"
100 "baa"
코드 :
class Solution {
public String solution(int age) {
String answer = "";
String spaceAge = "";
while(age > 0){
spaceAge += myAgeToSpaceAge(age % 10);
age /= 10;
}
for(int i = spaceAge.length()-1; i >= 0; i--){
answer += spaceAge.charAt(i);
}
return answer;
}
public String myAgeToSpaceAge(int age){
String spaceAge = "";
switch(age){
case 0 -> spaceAge += "a";
case 1 -> spaceAge += "b";
case 2 -> spaceAge += "c";
case 3 -> spaceAge += "d";
case 4 -> spaceAge += "e";
case 5 -> spaceAge += "f";
case 6 -> spaceAge += "g";
case 7 -> spaceAge += "h";
case 8 -> spaceAge += "i";
case 9 -> spaceAge += "j";
}
return spaceAge;
}
}
문제 3:
중복된 문자 제거
문제 설명
문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해 주세요.
제한사항
1 ≤ my_string ≤ 110
my_string은 대문자, 소문자, 공백으로 구성되어 있습니다.
대문자와 소문자를 구분합니다.
공백(" ")도 하나의 문자로 구분합니다.
중복된 문자 중 가장 앞에 있는 문자를 남깁니다.
입출력 예
my_string result
"people" "peol"
"We are the world" "We arthwold"
코드 :
import java.util.*;
class Solution {
public String solution(String my_string) {
String answer = "";
List<String> list = new ArrayList<>();
for(char ch : my_string.toCharArray()){
if(list.isEmpty()){
list.add(String.valueOf(ch));
}
if(list.contains(String.valueOf(ch))){
continue;
}
list.add(String.valueOf(ch));
}
for(String st : list){
answer += st;
}
return answer;
}
}
'프로그래머스 문제' 카테고리의 다른 글
프로그래머스 (Java) 문제 10.16 (0) | 2024.10.16 |
---|---|
프로그래머스 문제 (Java) 10.15 (0) | 2024.10.15 |
프로그래머스 문제 (Java) 10.11 (3) | 2024.10.11 |
프로그래머스 (Java) 문제 10.10 (2) | 2024.10.10 |
프로그래머스 (Java) 문제 10.08 (1) | 2024.10.08 |