Programmers #7

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

Programmers

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

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

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


์ž…์ถœ๋ ฅ ์˜ˆ

my_stringresult
"hi12392"[1, 2, 2, 3, 9]
"p2o4i8gj2"[2, 2, 4, 8]
"abcde0"[0]

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

  • "hi12392"์— ์žˆ๋Š” ์ˆซ์ž 1, 2, 3, 9, 2๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ [1, 2, 2, 3, 9]๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค.
  • "p2o4i8gj2"์— ์žˆ๋Š” ์ˆซ์ž 2, 4, 8, 2๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ [2, 2, 4, 8]์„ return ํ•ฉ๋‹ˆ๋‹ค.
  • "abcde0"์— ์žˆ๋Š” ์ˆซ์ž 0์„ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ [0]์„ return ํ•ฉ๋‹ˆ๋‹ค.

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

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

import java.util.Arrays;

public class Sort {
	public static int[] solution(String my_string) {
        char ch = 0;
        String intStr = "";
        for(int i = 0; i<my_string.length(); i++) {
        	ch = my_string.charAt(i); 
        	if(ch >= 48 && ch <= 57) {
        	intStr += ch;	
        	}
        }
        
        int[] answer = new int[intStr.length()]; // answer ๋ฐฐ์—ด ์ƒ์„ฑ

        for(int i = 0; i < intStr.length(); i++) {
            answer[i] = Character.getNumericValue(intStr.charAt(i)); // ๋ฌธ์ž์—ด์˜ ๊ฐ ๋ฌธ์ž๋ฅผ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐฐ์—ด์— ์ถ”๊ฐ€
        }
        
        Arrays.sort(answer);
  
        return answer;
    }
	
	public static void main(String[] args) {
		solution("p2o4i8gj2");
	}

}

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

 		char ch = 0;
        String intStr = "";
        for(int i = 0; i<my_string.length(); i++) {
        	ch = my_string.charAt(i); 
        	if(ch >= 48 && ch <= 57) {
        	intStr += ch;	
        	}
        }

my_string.charAt(i)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ, ๋ฌธ์ž ํƒ€์ž… ch์— ๋‹ด์•„, ์•„์Šคํ‚ค ์ฝ”๋“œ ๋ฒˆํ˜ธ 48~57 (์ˆซ์ž 0~9)๋ฅผ ๊ฒ€์ถœ, ๊ฒ€์ถœ๋œ ์ˆซ์ž๋ฅผ intStr ๋ฌธ์ž์—ด๋กœ ๋‹ด๋Š”๋‹ค.

int[] answer = new int[intStr.length()]; // answer ๋ฐฐ์—ด ์ƒ์„ฑ

        for(int i = 0; i < intStr.length(); i++) {
            answer[i] = Character.getNumericValue(intStr.charAt(i)); // ๋ฌธ์ž์—ด์˜ ๊ฐ ๋ฌธ์ž๋ฅผ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐฐ์—ด์— ์ถ”๊ฐ€
        }
        
        Arrays.sort(answer);
  
        return answer;
    }

int[] answer ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ๊ฒ€์ถœ๋œ intStr.length()๋กœ ์žก๊ณ  for๋ฌธ์„ ๋Œ๋ ค int[] answer์— ๋‹ด๋Š”๋‹ค

answer[i] = Character.getNumericValue(intStr.charAt(i));

์œ„์— ๊นŒ์ง„ ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ๋ฐฐ์—ด๋œ answer ์—, ๋ฌธ์žํ˜• intStr์„ ๋„ฃ๋Š” ๋ฐฉ๋ฒ•์„ ํ•œ์ฐธ ๊ณ ๋ฏผํ•˜๋‹ค
chatGPT์— ๋„์›€์„ ์š”์ฒญ...

Character.getNumericValue()

  • char ํƒ€์ž…์˜ ๋ณ€์ˆ˜์—์„œ ํ•ด๋‹นํ•˜๋Š” ์ˆซ์ž ๊ฐ’์„ ์–ป๊ธฐ ์œ„ํ•œ ๋ฉ”์„œ๋“œ

์ดํ›„, Java ๋‚ด๋ถ€ ํด๋ž˜์Šค Arrays์˜ sort() ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ


์„ธ๊ท  ์ฆ์‹

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


์ž…์ถœ๋ ฅ ์˜ˆ

ntresult
2102048
715229,376

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

  • ์ฒ˜์Œ์—” 2๋งˆ๋ฆฌ, 1์‹œ๊ฐ„ ํ›„์—” 4๋งˆ๋ฆฌ, 2์‹œ๊ฐ„ ํ›„์—” 8๋งˆ๋ฆฌ, ..., 10์‹œ๊ฐ„ ํ›„์—” 2048๋งˆ๋ฆฌ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 2048์„ returnํ•ฉ๋‹ˆ๋‹ค.
  • ์ฒ˜์Œ์—” 7๋งˆ๋ฆฌ, 1์‹œ๊ฐ„ ํ›„์—” 14๋งˆ๋ฆฌ, 2์‹œ๊ฐ„ ํ›„์—” 28๋งˆ๋ฆฌ, ..., 15์‹œ๊ฐ„ ํ›„์—” 229376๋งˆ๋ฆฌ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 229,376์„ returnํ•ฉ๋‹ˆ๋‹ค.

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

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

public class Germ {
	 public static int solution(int n, int t) {
	        for(int i = 0; i<t; i++) {
	        	n= n*2;
	        }
	        return n;
	    }
	 public static void main(String[] args) {
		solution(7,15);
	}
}

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

๋งค๊ฐœ๋ณ€์ˆ˜ n, t ๊ฐ€ ์ฃผ์–ด์ง€๊ธฐ๋–„๋ฌธ์— n์„ 2๋ฐฐํ•ด์„œ t๋ฒˆ ๋ฐ˜๋ณตํ•˜๋ฉด ๋˜๊ฒ ๊ตฌ๋‚˜! ๋ผ๊ณ ... ํ˜ธ๊ธฐ๋กญ๊ฒŒ ์ƒ๊ฐํ–ˆ๋‹ค๊ฐ€ ์–ด๋–ป๊ฒŒ ํ’€๊ฒƒ์ธ๊ฐ€๋ฅผ ๊ณ ๋ฏผํ–ˆ๋˜ ๋ฌธ์ œ์ธ๊ฑฐ๊ฐ™๋‹ค. for๋ฌธ์€ ๋‹จ์ง€ ๋ฐ˜๋ณตํšŸ์ˆ˜์ด๊ณ , ๋ฐ˜๋ณตํšŸ์ˆ˜ ๋งŒํผ n์„ t๋ฒˆ ๋งŒํผ ๋ฐ˜๋ณตํ•˜๋ฉด ๋˜์ง€ ์•Š๋Š”๊ฐ€์— ๋Œ€ํ•œ ์งˆ๋ฌธ์„ ๊ณ„์† ๋˜์ง€๊ฒŒ ํ–ˆ๋˜ ์–ด๋งˆ์–ด๋งˆํ•œ ๋ฌธ์ œ....


์ฃผ์‚ฌ์œ„์˜ ๊ฐœ์ˆ˜

๐Ÿ“‘ ๋ฌธ3) ๋จธ์“ฑ์ด๋Š” ์ง์œก๋ฉด์ฒด ๋ชจ์–‘์˜ ์ƒ์ž๋ฅผ ํ•˜๋‚˜ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ ์ด ์ƒ์ž์— ์ •์œก๋ฉด์ฒด ๋ชจ์–‘์˜ ์ฃผ์‚ฌ์œ„๋ฅผ ์ตœ๋Œ€ํ•œ ๋งŽ์ด ์ฑ„์šฐ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ƒ์ž์˜ ๊ฐ€๋กœ, ์„ธ๋กœ, ๋†’์ด๊ฐ€ ์ €์žฅ๋˜์–ด์žˆ๋Š” ๋ฐฐ์—ด box์™€ ์ฃผ์‚ฌ์œ„ ๋ชจ์„œ๋ฆฌ์˜ ๊ธธ์ด ์ •์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ƒ์ž์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์ฃผ์‚ฌ์œ„์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.


์ž…์ถœ๋ ฅ ์˜ˆ

boxnresult
[1, 1, 1]11
[10, 8, 6]312

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

  • ์ƒ์ž์˜ ํฌ๊ธฐ๊ฐ€ ๊ฐ€๋กœ 1, ์„ธ๋กœ 1, ๋†’์ด 1์ด๋ฏ€๋กœ ๋ชจ์„œ๋ฆฌ์˜ ๊ธธ์ด๊ฐ€ 1์ธ ์ฃผ์‚ฌ์œ„๋Š” 1๊ฐœ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒ์ž์˜ ํฌ๊ธฐ๊ฐ€ ๊ฐ€๋กœ 10, ์„ธ๋กœ 8, ๋†’์ด 6์ด๋ฏ€๋กœ ๋ชจ์„œ๋ฆฌ์˜ ๊ธธ์ด๊ฐ€ 3์ธ ์ฃผ์‚ฌ์œ„๋Š” 12๊ฐœ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

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

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

public class Dice {
	public static int solution(int[] box, int n) {
        for(int i = 0 ; i<box.length; i++) {
        	 box[i] = box[i] / n;
        }
        return box[0] *box[1] *box[2];
    }
	
	public static void main(String[] args) {
		int[] box = {10,8,6};
		
		solution(box,3);
	}

}

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

๋ฐ•์Šค์˜ ํฌ๊ธฐ ๊ฐ€๋กœ, ์„ธ๋กœ, ๋†’์ด๋ฅผ ๋ชจ์„œ๋ฆฌ ๊ธธ์ด๋กœ ๋‚˜๋ˆˆ ๋ชซ์„ ๊ฐ๊ฐ ๊ณฑํ•˜๋ฉด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์ฃผ์‚ฌ์œ„์˜ ์ด ๊ฐฏ์ˆ˜๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋ญ”๊ฐ€ ์ˆ˜ํ•™์‹œ๊ฐ„์— ๋ฐฐ์› ๋˜ ๋ฐฉ๋ฒ•์„ ์ง๊ฐ(?)์ ์œผ๋กœ ์”€


n์˜ ๋ฐฐ์ˆ˜ ๊ณ ๋ฅด๊ธฐ

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


์ž…์ถœ๋ ฅ ์˜ˆ

nnumlistresult
3[4, 5, 6, 7, 8, 9, 10, 11, 12][6, 9, 12]
5[1, 9, 3, 10, 13, 5][10, 5]
12[2, 100, 120, 600, 12, 12][120, 600, 12, 12]

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

  • numlist์—์„œ 3์˜ ๋ฐฐ์ˆ˜๋งŒ์„ ๋‚จ๊ธด [6, 9, 12]๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.
  • numlist์—์„œ 5์˜ ๋ฐฐ์ˆ˜๋งŒ์„ ๋‚จ๊ธด [10, 5]๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.
  • numlist์—์„œ 12์˜ ๋ฐฐ์ˆ˜๋งŒ์„ ๋‚จ๊ธด [120, 600, 12, 12]๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.

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

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

public class Nmultiple {
	
	public static int[] solution(int n, int[] numlist) {
		int size = 0;
        for(int i = 0; i<numlist.length; i++) {
        	if(numlist[i] % n == 0) {
        		size ++;
        	}
        }
        
        int[] answer = new int[size];
        int j = 0;
        
        for(int i = 0; i<numlist.length; i++) {
        	if(numlist[i] % n == 0) {
        		answer[j] = numlist[i];
        		j++;
        	}
        }
        
        return answer;
    }
	
	public static void main(String[] args) {
		int[] numlist = {4, 5, 6, 7, 8, 9, 10, 11, 12};
		solution(3,numlist);
	}

}

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


ํด๋ฆฐํ•œ ์ฝ”๋“œ๋กœ ๋‹ค๋“ฌ์–ด ๋ณด๊ธฐ

public class Nmultiple {
	
	public static int[] solution(int n, int[] numlist) {
		int size = 0;
        for (int num : numList) {
          if (num % n == 0) {
              size++;
          }
    	}
        
        int[] answer = new int[size];
        int j = 0;
        
        for (int num : numList) {
          if (num % n == 0) {
              answer[j++] = num;
          }
    	}
        return answer;
    }

์ง๊ฐ์‚ผ๊ฐํ˜• ์ถœ๋ ฅํ•˜๊ธฐ

๐Ÿ“‘ ๋ฌธ5) "*"์˜ ๋†’์ด์™€ ๋„ˆ๋น„๋ฅผ 1์ด๋ผ๊ณ  ํ–ˆ์„ ๋•Œ, "*"์„ ์ด์šฉํ•ด ์ง๊ฐ ์ด๋“ฑ๋ณ€ ์‚ผ๊ฐํ˜•์„ ๊ทธ๋ฆฌ๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ •์ˆ˜ n ์ด ์ฃผ์–ด์ง€๋ฉด ๋†’์ด์™€ ๋„ˆ๋น„๊ฐ€ n ์ธ ์ง๊ฐ ์ด๋“ฑ๋ณ€ ์‚ผ๊ฐํ˜•์„ ์ถœ๋ ฅํ•˜๋„๋ก ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด์„ธ์š”.


์ž…์ถœ๋ ฅ ์˜ˆ

3


์ถœ๋ ฅ #1

*
**
***


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

package programmers;

import java.util.Scanner;

public class Rectangle {
	public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        
        for(int i = 1; i<= n; i++) {
        	for(int j = 0; j<i; j++) {
        		System.out.print("*");
        	}
        	System.out.println("");
        }
    }
	
}

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

Java๋ฅผ ์ฒ˜์Œ ์ž…๋ฌธํ•ด์„œ for๋ฌธ์„ ๋ฐฐ์šฐ๋‹ค๋ณด๋ฉด ์•Œ๊ฒŒ๋˜๋Š” ์ผ๋ช… ๋ณ„์ฐ๊ธฐ...๋ฐฐ์šด์ง€ ๊ฝค ์‹œ๊ฐ„์ด ์ง€๋‚ฌ๋Š”๋ฐ,
์–ด๋–ป๊ฒŒํ•˜๋ฉด ๋ณ„์„ ์ฐ์„ ์ˆ˜ ์žˆ์„์ง€, ์–ด๋Š์ •๋„(?)๋Š” ๋จธ๋ฆฌ์†์œผ๋กœ ๊ตฌํ˜„์ด ๋˜๋Š”๊ฒŒ ์‹ ๊ธฐํ•˜๋‹ค...
์ด์ค‘ for๋ฌธ์„ ๋Œ๋ ค, ์ฒ˜์Œ for๋ฌธ์€ ๋ฐ˜๋ณตํšŸ์ˆ˜, ๋‘๋ฒˆ์งธ for๋ฌธ์€ ๋ณ„์˜ ๊ฐœ์ˆ˜๋ฅผ ์ฐ๋Š” ๋กœ์ง์„ ๊ตฌํ˜„


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

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        for(int i=1; i<=n; i++){
            System.out.println("*".repeat(i));
        }
    }
}

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