합성 수 찾기
// 합성수 : 약수의 개수가 3개 이상인 수
class Solution {
public int solution(int n) {
int answer = 0;
int i = 4;
while (i <= n) {
if (i % 2 == 0 || i % 3 == 0 || (i % 5 == 0 && i != 5) || (i % 7 == 0 && i != 7)) {
answer++;
}
i++;
}
return answer;
}
}
중복된 문자 제거
class Solution {
public String solution(String my_string) {
String answer = "";
for(int i = 0; i < my_string.length(); i++) {
if (answer.contains(String.valueOf(my_string.charAt(i)))) {
continue;
}
answer += my_string.charAt(i);
}
return answer;
}
}
수열과 구간 쿼리 1
class Solution {
public int[] solution(int[] arr, int[][] queries) {
int[] answer = new int[arr.length];
for (int i = 0; i < queries.length; i++) {
for(int j = queries[i][0]; j <= queries[i][1]; j++) {
arr[j] +=1;
}
}
answer = arr.clone();
return answer;
}
}
이차원 배열 대각선 순회하기
class Solution {
public int solution(int[][] board, int k) {
int answer = 0;
for(int i = 0; i < board.length; i++) {
for(int j = 0; j < board[i].length; j++) {
if (i + j <= k) {
answer += board[i][j];
}
}
}
return answer;
}
}
2차원으로 만들기
class Solution {
public int[][] solution(int[] num_list, int n) {
int[][] answer = new int[num_list.length/n][n];
int idx = 0;
for(int i = 0; i < answer.length; i++) {
for(int j = 0; j < answer[i].length; j++) {
answer[i][j] = num_list[idx++];
}
}
return answer;
}
}
A 로 B 만들기
import java.util.Arrays;
class Solution {
public int solution(String before, String after) {
int answer = 1;
char[] cb = before.toCharArray();
char[] ca = after.toCharArray();
Arrays.sort(cb);
Arrays.sort(ca);
for(int i = 0 ; i < cb.length; i++) {
if (cb[i] != ca[i]) {
answer = 0;
break;
}
}
return answer;
}
}
팩토리얼
class Solution {
public int solution(int n) {
int answer = 0;
int j = 1;
for (int i = 1; i <= n; i*=j) {
answer = j++;
}
return answer;
}
}
모스부호 (1)
class Solution {
public String solution(String letter) {
String answer = "";
String morse[] = letter.split(" ");
String morse1[] = new String[] {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."};
for (int i = 0; i < morse.length; i++) {
for(int j = 0; j < morse1.length; j++) {
if (morse[i].equals(morse1[j])) {
answer += (char) (j + 97);
}
}
}
return answer;
}
}
k 의 개수
class Solution {
public int solution(int i, int j, int k) {
int answer = 0;
for (int a = i; a <= j; a++) {
String s = String.valueOf(a);
for(int h = 0; h < s.length(); h++) {
if (s.charAt(h) == k + 48) {
answer++;
}
}
}
return answer;
}
}
배열 만들기 5
import java.util.*;
class Solution {
public int[] solution(String[] intStrs, int k, int s, int l) {
ArrayList<Integer> answer = new ArrayList<>();
for(int i = 0; i < intStrs.length; i++) {
String sd = intStrs[i].substring(s, s+l);
if (Integer.valueOf(sd) > k) {
answer.add(Integer.valueOf(sd));
}
}
int[] arr = new int[answer.size()];
for(int i = 0; i < arr.length; i++) {
arr[i] = answer.get(i);
}
return arr;
}
}
가까운 수
class Solution {
public int solution(int[] array, int n) {
int answer = array[0];
int temp = Math.abs(n - array[0]);
for (int i = 0; i < array.length; i++) {
if (temp > Math.abs(n - array[i])) {
temp = Math.abs(n - array[i]);
answer = array[i];
}
}
for(int i = 0; i < array.length; i++) {
if (temp >= Math.abs(n - array[i]) && answer > array[i]) {
answer = array[i];
}
}
return answer;
}
}
진료순서 정하기
import java.util.Arrays;
class Solution {
public int[] solution(int[] emergency) {
int[] answer = new int[emergency.length];
int[] temp = emergency.clone();
Arrays.sort(temp);
int k = 0;
for(int i = 0; i < emergency.length; i++) {
for (int j = temp.length - 1; j >= 0 ; j--) {
if (temp[j] == emergency[i]) {
answer[k++] = temp.length - j;
}
}
}
return answer;
}
}
숨어있는 숫자의 덧셈 (2)
class Solution {
public int solution(String my_string) {
int answer = 0;
String s = "0";
for(int i = 0; i < my_string.length(); i++) {
if (Character.isDigit(my_string.charAt(i))) {
s += my_string.charAt(i);
if (i == my_string.length() - 1) {
answer += Integer.parseInt(s);
}
} else {
answer += Integer.parseInt(s);
s = "0";
}
}
return answer;
}
}
한 번만 등장한 문자
import java.util.Arrays;
class Solution {
public String solution(String s) {
String answer = "";
String[] temp = s.split("");
String[] temp2 = new String[temp.length];
for(int i = 0; i < temp2.length; i++) {
temp2[i] = "";
}
int idx = 0;
A : for (int i = 0; i < s.length(); i++) {
for(int j = 0; j < temp.length; j++) {
if (i != j && temp[i].equals(temp[j])) {
continue A;
}
}
temp2[idx++] = temp[i];
}
Arrays.sort(temp2);
for(int i = 0; i < temp2.length; i++) {
answer += temp2[i];
}
return answer;
}
}
'혼자 코딩 공부하기 > 프로그래머스 코딩테스트' 카테고리의 다른 글
231219 프로그래머스 Lv.1 (2) | 2023.12.19 |
---|---|
231219 프로그래머스 코딩테스트 (0) | 2023.12.19 |
231216 프로그래머스 자바 0단계 다 풀어보기 (0) | 2023.12.16 |
231215 프로그래머스 풀어보기 (0) | 2023.12.15 |
231214 프로그래머스 기초 트레이닝 (0) | 2023.12.14 |