
class Solution {
public int[] solution(String my_string) {
int[] answer = new int[52];
for (char ch : my_string.toCharArray()) {
if (ch >= 'A' && ch <= 'Z') {
answer[ch - 'A']++;
} else if (ch >= 'a' && ch <= 'z') {
answer[ch - 'a' + 26]++;
}
}
return answer;
}
}
| 문자 | ASCII 코드 | 문자 | ASCII 코드 | 문자 | ASCII 코드 |
|---|---|---|---|---|---|
| A | 65 | J | 74 | S | 83 |
| B | 66 | K | 75 | T | 84 |
| C | 67 | L | 76 | U | 85 |
| D | 68 | M | 77 | V | 86 |
| E | 69 | N | 78 | W | 87 |
| F | 70 | O | 79 | X | 88 |
| G | 71 | P | 80 | Y | 89 |
| H | 72 | Q | 81 | Z | 90 |
| I | 73 | R | 82 |
| 문자 | ASCII 코드 | 문자 | ASCII 코드 | 문자 | ASCII 코드 |
|---|---|---|---|---|---|
| a | 97 | j | 106 | s | 115 |
| b | 98 | k | 107 | t | 116 |
| c | 99 | l | 108 | u | 117 |
| d | 100 | m | 109 | v | 118 |
| e | 101 | n | 110 | w | 119 |
| f | 102 | o | 111 | x | 120 |
| g | 103 | p | 112 | y | 121 |
| h | 104 | q | 113 | z | 122 |
| i | 105 | r | 114 |
해당 문제는 ASCII코드를 이용해 알파벳의 빈도 수를 배열에 나타내는 문제이다.

import java.util.*;
class Solution {
public int[] solution(int n, int k) {
ArrayList<Integer> list = new ArrayList<>();
for (int i = 1; i <= n; i++) {
if (i % k == 0) {
list.add(i);
}
}
int[] answer = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
answer[i] += list.get(i);
}
return answer;
}
}
n과 k의 범위에서 n 이하의 정수 중 k의 배수를 오름차순한 배열을 리턴하는 문제

import java.util.*;
class Solution {
public String solution(String my_string, int[] indices) {
// Set을 사용하여 indices 배열을 저장
Set<Integer> indexSet = new HashSet<>();
for (int index : indices) {
indexSet.add(index);
}
// StringBuilder를 사용하여 결과 문자열을 생성
StringBuilder answer = new StringBuilder();
for (int i = 0; i < my_string.length(); i++) {
if (!indexSet.contains(i)) {
answer.append(my_string.charAt(i));
}
}
return answer.toString();
}
}
HashSet이란?
Split을 이용해서 풀 수도 있지만 HashSet을 이용해서 풀면 좀 더 빠르게 찾을 수 있다.

import java.util.*;
class Solution {
public List<Integer> solution(int start, int end_num) {
List<Integer> answer = new ArrayList<>();
// start_num부터 end_num까지 1씩 감소하며 리스트에 추가
for (int i = start; i >= end_num; i--) {
answer.add(i);
}
return answer;
}
}

class Solution {
public int solution(int[] arr, int idx) {
int answer = 0;
for (int i = 0; i < arr.length; i++) {
if (i >= idx && arr[i] == 1) {
answer = i;
break;
} else {
answer = -1;
}
}
return answer;
}
}