Programmers #9

์ด๊ฐ•์šฉยท2023๋…„ 4์›” 3์ผ
0

Programmers

๋ชฉ๋ก ๋ณด๊ธฐ
9/58

369๊ฒŒ์ž„

๐Ÿ“‘ ๋ฌธ1) ๋จธ์“ฑ์ด๋Š” ์นœ๊ตฌ๋“ค๊ณผ 369๊ฒŒ์ž„์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 369๊ฒŒ์ž„์€ 1๋ถ€ํ„ฐ ์ˆซ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ๋Œ€๋ฉฐ 3, 6, 9๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ์ˆซ์ž๋Š” ์ˆซ์ž ๋Œ€์‹  3, 6, 9์˜ ๊ฐœ์ˆ˜๋งŒํผ ๋ฐ•์ˆ˜๋ฅผ ์น˜๋Š” ๊ฒŒ์ž„์ž…๋‹ˆ๋‹ค. ๋จธ์“ฑ์ด๊ฐ€ ๋งํ•ด์•ผํ•˜๋Š” ์ˆซ์ž order๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋จธ์“ฑ์ด๊ฐ€ ์ณ์•ผํ•  ๋ฐ•์ˆ˜ ํšŸ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.


์ž…์ถœ๋ ฅ ์˜ˆ

orderresult
31
294232

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

  • 3์€ 3์ด 1๊ฐœ ์žˆ์œผ๋ฏ€๋กœ 1์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  • 29423์€ 3์ด 1๊ฐœ, 9๊ฐ€ 1๊ฐœ ์žˆ์œผ๋ฏ€๋กœ 2๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

๋‚˜์˜ ํ’€์ด

package ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค;

public class Clap {

	public static int solution(int order) {
        int answer = 0;
        String[] str = Integer.toString(order).split("");
        int[] clab = new int[str.length];
        
        for(int i = 0; i <str.length; i++) {
        	clab[i] =  Integer.parseInt(str[i]);
        	
        	if(clab[i] != 0 && clab[i] % 3 ==  0) {
        		answer++;
        	}
        }
        return answer;
    }
	
	public static void main(String[] args) {
		solution(10);
	}
}

๋‚˜์˜ ์ƒ๊ฐ

์ œ์ผ ๋จผ์ € ์ƒ๊ฐํ–ˆ๋˜ ๋ถ€๋ถ„์ด, ์ˆซ์ž์—์„œ ํŠน์ • ์ˆซ์ž๋ฅผ ํŒ๋ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ๊ณ ๋ฏผ์„ ์‹œ์ž‘ํ•˜์˜€๋‹ค.
intํ˜• ๋ณ€์ˆ˜ ๊ทธ ์ž์ฒด๋Š” split๋ฉ”์„œ๋“œ๊ฐ€ ์—†์œผ๋‹ˆ๊นŒ, ๋ฌธ์ž์—ด ๋ฐฐ์—ด์— Integer ๋‚ด์žฅ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ชผ๊ฐœ๋ฉด ๋˜๊ฒŸ๋‹ค๊ณ  ์ƒ๊ฐ. ๊ทธ๋ฆฌ๊ณ  ๋ฐ˜๋ณต์„ ๋Œ๋ ค, ๋ฌธ์ž๋ฅผ ๋‹ค์‹œ intํ˜•์œผ๋กœ parseInt , ๊ทธ ๋‹ค์Œ์—”
if๋ฌธ์œผ๋กœ intํ˜• ๋ฐฐ์—ด์„ ์ฐจ๋ก€๋กœ ์ฒดํฌํ•ด์„œ 3์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด๋ฉด 3,6,9์— ํ•ด๋‹นํ•˜๊ธฐ ๋•Œ๋ฌธ์— answer์„ cntํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉ. ๋‹จ, ์ˆซ์ž0์ด ๋‚˜์˜ฌ๋•Œ์—๋„ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด๊ธฐ๋•Œ๋ฌธ์—, if๋ฌธ ์•ˆ์— ์กฐ๊ฑด์„ ํ•˜๋‚˜ ์ถ”๊ฐ€ํ•ด์„œ ํ•„ํ„ฐ๋ฅผ ํ•ด์คฌ์Œ

์ฒ˜์Œ์—๋Š” 0์„ ์ƒ๊ฐ ๋ชปํ•ด์„œ ์ผ€์ด์Šค ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”๋ฐ ์‹ ์ค‘ํ•˜๊ฒŒ ๊ณ ๋ฏผ์„ ํ•ด๋ด์•ผ๊ฒ ๋‹ค.


๊ฐœ์„ ๋œ ํ’€์ด

class Solution {
    public int solution(int order) {
        int answer = 0;

        String str = order+"";

        for(int i=0; i<str.length(); i++){
            char c = str.charAt(i);
            if(c=='3'||c=='6'||c=='9') answer++;
        }

        return answer;
    }
}

๋‚ด๊ฐ€ intํ˜• ๋ณ€์ˆ˜๋ฅผ ์–ด๋–ป๊ฒŒ ์ชผ๊ฐค๊นŒ๋ฅผ ์ƒ๊ฐํ• ๋•Œ, ์ด๋Ÿฐ ๋ฐฉ๋ฒ•์„ ํ™œ์šฉํ•ด์„œ ์“ธ ์ค„์€ ์ƒ์ƒ๋„ ๋ชปํ–ˆ๋‹ค...
intํ˜• ๋ณ€์ˆ˜ ๋ฅผ + ์—ฐ์‚ฐ์ž์™€ "" ๋กœ ๋ฌถ์œผ๋ฉด ์ž๋™ ํ˜•๋ณ€ํ™˜์œผ๋กœ ๋ฌธ์ž๊ฐ€ ๋œ๋‹ค๋Š”๊ฑฐ...


์•ฝ์ˆ˜ ๊ตฌํ•˜๊ธฐ

๐Ÿ“‘ ๋ฌธ2) ์ •์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, n์˜ ์•ฝ์ˆ˜๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋‹ด์€ ๋ฐฐ์—ด์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.


์••์ถœ๋ ฅ ์˜ˆ

nresult
24[1, 2, 3, 4, 6, 8, 12, 24]
29[1,29]

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

  • 24์˜ ์•ฝ์ˆ˜๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋‹ด์€ ๋ฐฐ์—ด [1, 2, 3, 4, 6, 8, 12, 24]๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.

  • 29์˜ ์•ฝ์ˆ˜๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋‹ด์€ ๋ฐฐ์—ด [1, 29]๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.


๋‚˜์˜ ํ’€์ด

package programmers;

import java.util.ArrayList;

public class Divisor {
	public static int[] solution(int n) {
        
        int cnt = 0;
        ArrayList<Integer> value = new ArrayList<>();
        while(true) {
        	cnt++;
        	if( n % cnt == 0) {
        		System.out.println(cnt);
        		value.add(cnt);	
        	}else if (cnt > n) {
        		break;
        	}	
        }
        int[] answer = new int[value.size()];
        for(int i = 0; i<value.size(); i++) {
        	answer[i]= value.get(i);
        }
        return answer;
    }
	
	public static void main(String[] args) {
		solution(24);
	}

}

๋‚˜์˜ ํ’€์ด

๋งค๊ฐœ๋ณ€์ˆ˜ n ์˜ ์•ฝ์ˆ˜๋ฅผ ์ฐพ๋Š”๊ฑฐ๋Š” ์‰ฝ๊ฒŒ ์ฐพ์•˜๋Š”๋ฐ, int[] answer = {}; ์— ๋งค๊ฐœ๋ณ€์ˆ˜ n์˜ ์•ฝ์ˆ˜๋ฅผ ์–ด๋–ป๊ฒŒ ๋„ฃ์„ ๊ฒƒ์ธ๊ฐ€์— ๋Œ€ํ•ด ์ƒ๊ฐ์„ ๋งŽ์ด ํ–ˆ์—ˆ๋‹ค. ArrayList๋Š” add() ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๊ธฐ๋•Œ๋ฌธ์— ์ด ๋ฉ”์„œ๋“œ๋ฅผ ์“ฐ๋ฉด ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ๋”ฐ๋กœ ์ถ”๊ฐ€ ํ• ๋‹นํ•˜์ง€์•Š์•„๋„ ๋ฐฐ์—ด์— ์ถ”๊ฐ€ ๋˜๋Š” ์žฅ์ ์ด ์žˆ์–ด, ArrayList์— ์•ฝ์ˆ˜๋ฅผ ๋„ฃ๊ณ , ๋‹ค์‹œ int[] answer ์— ์ถ”๊ฐ€ ํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์„ ์ผ๋‹ค. ์–ด์ฐŒ ์–ด์ฐŒ ํ…Œ์ŠคํŠธ ์กฐ๊ฑด์—” ๋ชจ๋‘ ๋ถ€ํ•ฉํ•˜๊ฒŒ ํ’€๊ธด ํ–ˆ๋Š”๋ฐ, ๊ทธ๋ ‡๊ฒŒ ๊ดœ์ฐฎ์€ ์ฝ”๋“œ๋Š” ์•„๋‹Œ๊ฑฐ ๊ฐ™๋‹ค.


์ด๋ ‡๊ฒŒ๋„ ํ’€ ์ˆ˜ ์žˆ๋‹ค

import java.util.*;

class Solution {
    public ArrayList<Integer> solution(int n) {
        ArrayList<Integer> answer = new ArrayList<Integer>();

        for(int i=1; i<=n; i++){
            if(n % i == 0) answer.add(i);
        }

        return answer;
    }
}

public static int[] solution(int n) { } int[] ํ˜• ๋ฉ”์„œ๋“œ ๋Œ€์‹  ArrayList<Integer> solution(int n) { } ๋ฉ”์„œ๋“œ๋ฅผ ์จ์„œ , int[] ๋ฐฐ์—ด์— ๋‹ค์‹œ ๋‹ด์„๋ ค๊ณ  ํ•˜์ง€ ์•Š๊ณ , ๋ฐ”๋กœ ArrayList์— n % i == 0 ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋‹ด์•„ return ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉ


chatGPT ํ’€์ด

import java.util.Arrays;

public class Divisor {
    public static int[] solution(int n) {
        int[] answer = new int[n];
        int idx = 0;
        for (int i = 1; i <= n; i++) {
            if (n % i == 0) {
                answer[idx++] = i;
            }
        }
        return Arrays.copyOf(answer, idx);
    }

    public static void main(String[] args) {
        int[] result = Divisor.solution(24);
        System.out.println(Arrays.toString(result));
    }
}

๋ฉ”์„œ๋“œ ๋‚ด์˜ ArrayList๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , ๋ฐฐ์—ด๋งŒ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Œ
๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๋ฉด ArrayList๋ณด๋‹ค ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์ ๊ณ , ์ฝ”๋“œ๋„ ๊ฐ„๊ฒฐํ•ด์ง

answer ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๊ณ , idx ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’์„ ํ• ๋‹น, n์ด ์ฃผ์–ด์ง„ ์ˆ˜ ๋ณด๋‹ค ํด ์ˆ˜ ์—†์œผ๋ฏ€๋กœ, anwer๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ n์œผ๋กœ ์„ค์ •. ๊ทธ๋Ÿฐ ๋‹ค์Œ, 1๋ถ€ํ„ฐ n๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ n์˜ ์•ฝ์ˆ˜์ธ ๊ฒฝ์šฐ์—๋งŒ answer ๋ฐฐ์—ด์— ๊ฐ’์„ ํ• ๋‹น

Arrays.copyof() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ถˆํ•„์š”ํ•œ 0 ๊ฐ’์ด ๋“ค์–ด ์žˆ๋Š” ๋ฐฐ์—ด์„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด๋กœ ๋ณต์‚ฌํ•˜์—ฌ ๋ฐ˜ํ™˜

Arrays.copyof() ๋ž€?

  • ๋ฐฐ์—ด์˜ ์ผ๋ถ€ ๋˜๋Š” ์ „์ฒด๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ•จ

์‚ฌ์šฉ๋ฒ•

copyof(original, int newLength)

  • original ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๋ณต์‚ฌํ•  ์›๋ณธ ๋ฐฐ์—ด
  • newLength ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์˜ ๊ธธ์ด
  • original ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋ถ€ํ„ฐ newLength ๊ธธ์ด๊นŒ์ง€์˜ ์š”์†Œ๋ฅผ ๋ณต์‚ฌํ•œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜. ๋งŒ์•ฝ, newLength๊ฐ€ original ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ original ๋ฐฐ์—ด์˜ ์ผ๋ถ€ ์š”์†Œ๋งŒ ๋ณต์‚ฌ๋˜๋ฉฐ, ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์˜ ๋‚˜๋จธ์ง€ ์š”์†Œ๋Š” ์ž๋™์œผ๋กœ ์ดˆ๊ธฐํ™”

์ˆซ์ž ์ฐพ๊ธฐ

๐Ÿ“‘ ๋ฌธ3) ์ •์ˆ˜ num๊ณผ k๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, num์„ ์ด๋ฃจ๋Š” ์ˆซ์ž ์ค‘์— k๊ฐ€ ์žˆ์œผ๋ฉด num์˜ ๊ทธ ์ˆซ์ž๊ฐ€ ์žˆ๋Š” ์ž๋ฆฌ ์ˆ˜๋ฅผ returnํ•˜๊ณ  ์—†์œผ๋ฉด -1์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.


์ž…์ถœ๋ ฅ ์˜ˆ

numkresult
2918313
23244344
1234567-1

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

  • 29183์—์„œ 1์€ 3๋ฒˆ์งธ์— ์žˆ์Šต๋‹ˆ๋‹ค.
  • 232443์—์„œ 4๋Š” 4๋ฒˆ์งธ์— ์ฒ˜์Œ ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค.
  • 123456์— 7์€ ์—†์œผ๋ฏ€๋กœ -1์„ return ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜์˜ ํ’€์ด

class Solution {
    public int solution(int num, int k) {
        String strNum = num + "";
        String digit = k + "";

        int index = strNum.indexOf(digit);
        if (index == -1) {
            return -1;
        } else {
            return index + 1;
        }
    }
}  

๋‚˜์˜ ์ƒ๊ฐ

์ƒ๊ฐ๋ณด๋‹ค ์—„์ฒญ ๊ณ ๋ฏผ์„ ๋งŽ์ด ํ–ˆ๋˜ ๋ฌธ์ œ์˜€๋˜๊ฑฐ ๊ฐ™๋‹ค.

public static int solution(int num, int k) {
        int answer = 0;
        
        int[] trans = new int[num];
        
        for(int i = 0; i < trans.length; i++) {
        	trans[i]  = num % 10;
        	num /= 10;
        }
        
        for(int i = 0; i < trans.length; i++) {
        	if(trans[i] == k) {
        		answer = trans[i];
        		break;
        	}else {
        		answer = -1;
        	}
        }

์ฒ˜์Œ์— ๋‚ด๊ฐ€ ์ƒ๊ฐํ–ˆ๋˜ ๋ฐฉ๋ฒ•์€, ๋งค๊ฐœ๋ณ€์ˆ˜ num์„ ๋‹ด์„ intํ˜• ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜์—ฌ num ์„ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๋ฐฐ์—ด์— ๊ฐ๊ฐ ๋„ฃ๋Š” ๋ฐฉ๋ฒ•์„ ์ผ์—ˆ๋Š”๋ฐ, int[] trans = new int[num]์—์„œ ๋ฐฐ์—ด์„ ํฌ๊ธฐ๋ฅผ num์œผ๋กœ ์žก์€ ์‹œ์ ๋ถ€ํ„ฐ ์˜ค๋ฅ˜๋ฅผ ๋ฒ”ํ–ˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด, ์ˆซ์ž๊ฐ€ 29831์ผ๊ฒฝ์šฐ, ๋‚ด๊ฐ€ ์›ํ–ˆ๋˜๊ฒƒ์€ 29831์ผ์˜ ์ „์ฒด ๊ธธ์ด, ์ฆ‰,5๋ฅผ ์›ํ–ˆ๋˜ ๊ฒƒ์ธ๋ฐ, ๋ฐฐ์—ด ์ „์ฒด์˜ ํฌ๊ธฐ๊ฐ€ 29831๋กœ ์žกํžˆ๋Š” ์˜ค๋ฅ˜๋ฅผ... ๊ทธ๋ฆฌ๊ณ  ๋ฌด์—‡๋ณด๋‹ค ์น˜๋ช…์ ์ธ ์‹ค์ˆ˜๋Š”

for(int i = 0; i < trans.length; i++) {
        	trans[i]  = num % 10;
        	num /= 10;
        }

์—์„œ ์ˆซ์ž 29831 ์ด๋ผ๊ณ  ํ• ๋•Œ, ์‹ค์ œ๋กœ ๋ฐฐ์—ด์—๋Š”

trans[0] = 1;
trans[1] = 3;
trans[2] = 8;
trans[3] = 9;
trans[4] = 2;

๊ฑฐ๊พธ๋กœ ํ• ๋‹น๋˜๊ธฐ๋•Œ๋ฌธ์—, ๋‹ค์‹œ ๋’ค์ง‘์–ด์ค˜์•ผํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ๋ฐœ์ƒํ•œ๋‹ค.


์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์ƒ๊ฐํ•˜์—ฌ, intํ˜• ๋ณ€์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ๋ฌธ์žํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ˆซ์ž + "" ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ


 String strNum = num + "";
 String digit = k + "";

int index = strNum.indexOf(digit);
if (index == -1) {
	return -1;
} else {
	return index + 1;
}

๋ฌธ์žํ˜•์—์„œ indexOf() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž๋ฆฟ์ˆ˜์— ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์ž๋ฅผ ๊ฒ€์ถœํ•˜์—ฌ, -1์ผ ๊ฒฝ์šฐ,
์ฆ‰, indexOf(digit)์—์„œ ์ผ์น˜ํ•˜๋Š” ๋ฌธ์ž๊ฐ€ ์—†์„ ๊ฒฝ์šฐ -1์„ ๋ฐ˜ํ™˜ return -1์„, ๊ทธ๋ ‡์ง€์•Š์œผ๋ฉด strNum.indexOf(digit)+1 ์„ ๋ฐ˜ํ™˜ํ•˜์˜€๋‹ค, ์—ฌ๊ธฐ์„œ indexOf(digit)+1์„ ํ•˜๋Š” ์ด์œ ๋Š”
strNum[0]๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ธฐ๋•Œ๋ฌธ์— +1์„ ํ•˜์—ฌ ์ž๋ฆฌ์ˆ˜๋ฅผ ๋งž์ถฐ์ค˜์•ผํ•œ๋‹ค!


๋ฌธ์ž์—ด ์ •๋ ฌํ•˜๊ธฐ (2)

๐Ÿ“‘ ๋ฌธ4) ์˜์–ด ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด my_string์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, my_string์„ ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พธ๊ณ  ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌํ•œ ๋ฌธ์ž์—ด์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.


์ž…์ถœ๋ ฅ ์˜ˆ

my_stringresult
"Bcad""abcd"
"heLLo""ehllo"
"Python""hnopty

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

  • "Bcad"๋ฅผ ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พธ๋ฉด "bcad"์ด๊ณ  ์ด๋ฅผ ์•ŒํŒŒ๋ฒณ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋ฉด "abcd"์ž…๋‹ˆ๋‹ค.
  • "heLLo"๋ฅผ ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พธ๋ฉด "hello"์ด๊ณ  ์ด๋ฅผ ์•ŒํŒŒ๋ฒณ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋ฉด "ehllo"์ž…๋‹ˆ๋‹ค.
  • "Python"๋ฅผ ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พธ๋ฉด "python"์ด๊ณ  ์ด๋ฅผ ์•ŒํŒŒ๋ฒณ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋ฉด "hnopty"์ž…๋‹ˆ๋‹ค.

๋‚˜์˜ ํ’€์ด

package ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค;

import java.util.Arrays;

public class SortString {
	public static String solution(String my_string) {
        String answer = "";
        
        
        for(int i= 0; i<my_string.length(); i++) {
        	char ch = my_string.charAt(i);
        	
        	if(ch>=65 && ch <= 90) {
        		answer += (char)(ch+32);
        	}else {
        		answer += (char)(ch);
        	}
        }
        char[] chars = answer.toCharArray();
        Arrays.sort(chars);
        String sortedAnswer = new String(chars);
        
        return sortedAnswer;
      
       }
        
     
	public static void main(String[] args) {
		String my_string = "Python";
		solution(my_string);
	}

}

๋‚˜์˜ ์ƒ๊ฐ

๋Œ€,์†Œ๋ฌธ์ž ๋ณ€ํ™˜์€ charํ˜• ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜์—ฌ ์ด๋ฅผ ์•„์Šคํ‚ค์ฝ”๋“œ ํ‘œ ์ƒ ๋Œ€๋ฌธ์ž์— ํ•ด๋‹นํ•˜๋Š” 10์ง„์ˆ˜๋ฅผ ํŒ๋ณ„ํ•˜์—ฌ, ๋Œ€๋ฌธ์ž๋Š” ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ์†Œ๋ฌธ์ž๋Š” ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜์˜€๋‹ค,

๊ทธ ํ›„, ๋ฌธ์ž์—ด์„ charํ˜• ๋ฐฐ์—ด๋กœ ์„ ์–ธํ•˜์—ฌ, ๋ฌธ์ž์—ด์„ charํ˜• ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ, sort๋ฅผ ๋Œ๋ ค
์ƒˆ๋กœ์šด String sortedAnswer์— ์ƒˆ๋กœ ๋‹ด๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค.


๋” ๋‚˜์€ ํ’€์ด

import java.util.*;
class Solution {
    public String solution(String my_string) {
        char[] c = my_string.toLowerCase().toCharArray();
        Arrays.sort(c);
        return new String(c);
    }
}

๋‚ด๊ฐ€ ์‚ฌ์šฉํ•œ ๋ฐฉ๋ฒ•ํ•œ ์ค„๋กœ ํ‘œํ˜„ํ•œ ๋ฐฉ๋ฒ•

toLowerCase()

  • ์ด ๋ฉ”์„œ๋“œ๋Š” ํ˜ธ์ถœ๋œ ๋ฌธ์ž์—ด์˜ ๋ชจ๋“  ๋Œ€๋ฌธ์ž ์•ŒํŒŒ๋ฒณ์„ ํ•ด๋‹น ์†Œ๋ฌธ์ž ์•ŒํŒŒ๋ฒณ์œผ๋กœ ๋ณ€ํ™˜ํ•œ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜, ์›๋ณธ ๋ฌธ์ž์—ด์€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Œ

ํ•ฉ์„ฑ์ˆ˜ ์ฐพ๊ธฐ

๐Ÿ“‘ ๋ฌธ5) ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ์„ธ ๊ฐœ ์ด์ƒ์ธ ์ˆ˜๋ฅผ ํ•ฉ์„ฑ์ˆ˜๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ž์—ฐ์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ n์ดํ•˜์˜ ํ•ฉ์„ฑ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.


์ž…์ถœ๋ ฅ ์˜ˆ

nresult
105
158

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

  • 10 ์ดํ•˜ ํ•ฉ์„ฑ์ˆ˜๋Š” 4, 6, 8, 9, 10 ๋กœ 5๊ฐœ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 5๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.
  • 15 ์ดํ•˜ ํ•ฉ์„ฑ์ˆ˜๋Š” 4, 6, 8, 9, 10, 12, 14, 15 ๋กœ 8๊ฐœ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 8์„ returnํ•ฉ๋‹ˆ๋‹ค.

๋‚˜์˜ ํ’€์ด

package ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค;

public class CompositeNumber {
	public static int solution(int n) {
        int answer = 0;
        int cnt = 0;
        for(int i = 1; i <= n; i++) {
        	for(int j = 1; j <= i; j++ ) {
        		if(i % j == 0) {
        			cnt++;
    		   }
    		}
        	if(cnt >= 3) {
        		answer++;
        	}
        	cnt = 0;
        	}
        return answer;
    }
	public static void main(String[] args) {
		solution(4);
	}
}

๋‚˜์˜ ์ƒ๊ฐ
์ „์ฒด์ ์œผ๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜ n๋ฒˆ ๋ฐ˜๋ณต์„ ๋Œ๋ฆฌ๊ณ , ๋ฐ˜๋ณต๋ฌธ ์•ˆ์—์„œ ๋ฐ˜๋ณต๋ฌธ์„ ํ•œ๋ฒˆ๋” ์‹คํ–‰ํ•˜์—ฌ, if(i % j == 0) ๋ฅผ ํ†ตํ•ด ๋‚˜๋จธ์ง€๊ฐ€ 0์œผ๋กœ ๋–จ์–ด์ง€๋Š” ์ฆ‰, ์•ฝ์ˆ˜๊ฐ€ ๋ช‡ ๊ฐœ ์ธ์ง€ ํŒ๋ณ„ํ•œ๋‹ค, ํŒ๋ณ„ํ•œ ๊ฒฐ๊ณผ๋ฅผ cnt์— ๋‹ด์•„, cnt์˜ ์ˆ˜๊ฐ€ 3๊ฐœ ์ด์ƒ์ด๋ฉด, ํ•ฉ์„ฑ์ˆ˜๋ฅผ ์นด์šดํŠธํ•˜๋Š” answer์„ ์ฆ๊ฐ€์‹œ์ผœ ์ตœ์ข…์ ์œผ๋กœ answer์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.


0๊ฐœ์˜ ๋Œ“๊ธ€