본문 바로가기
CodingTest

코딩테스트 입문 - Day 15

by Jiwon_Loopy 2025. 4. 27.
반응형

영어가 싫어요


class Solution {
    public long solution(String numbers) {
        return Long.parseLong(numbers.replace("zero","0")
            .replace("one","1")
            .replace("two","2")
            .replace("three","3")
            .replace("four","4")
            .replace("five","5")
            .replace("six","6")
            .replace("seven","7")
            .replace("eight","8")
            .replace("nine","9"));
    }
}

인덱스 바꾸기


class Solution {
    public String solution(String my_string, int num1, int num2) {
        String answer = "";

        char[] ch = my_string.toCharArray();

        ch[num1] = my_string.charAt(num2);
        ch[num2] = my_string.charAt(num1);

        answer = String.valueOf(ch);
        return answer;
    }
}

한 번만 등장한 문자


import java.util.Arrays;

class Solution {
    public String solution(String s) {
        StringBuilder sb = new StringBuilder();
        for(int i = 0; i< s.length(); i++){
            String target = s.charAt(i) + "";
            if(s.length() - s.replace(target,"").length() == 1 ){
                sb.append(target);
            }
        }
        
        char[] arr = sb.toString().toCharArray();
        Arrays.sort(arr);
        return new String(arr);
    }
}

약수 구하기


import java.util.*;

class Solution {
    public ArrayList<Integer> solution(int n) {
        ArrayList<Integer> arr = new ArrayList<>();
            for(int i = 1; i <= n/2; i++){
                if(n%i == 0){
                    if(arr.contains(i))
                        break;
                    if(i != n/i){
                    arr.add(i);
                    arr.add(n/i);
                    }
                    else{
                        arr.add(i);
                    }
                }
        }
        if(arr.isEmpty()){
            arr.add(1);
        }
        arr.sort(null);
        return arr;
    }
}

내 코드인데, 반복 횟수가 반으로 줄어 더 빨랐다.

import java.util.*;

class Solution {
    public ArrayList<Integer> solution(int n) {
        ArrayList<Integer> arr = new ArrayList<>();
            for(int i = 1; i <= n; i++){
                if(n%i == 0){
                    arr.add(i);
                }
        }
        return arr;
    }
}

정석 코드이다.

728x90
반응형

'CodingTest' 카테고리의 다른 글

코딩테스트 입문 - Day 17  (0) 2025.04.27
코딩테스트 입문 - Day 16  (0) 2025.04.27
코딩테스트 입문 - Day 14  (1) 2025.04.27
프로그래머스 2레벨 - 무인도  (2) 2025.04.20
코딩테스트 입문 - Day 13  (0) 2025.04.20