728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ ๐Ÿ˜ต‍๐Ÿ’ซ

๋…์ผ ๋กœ๋˜๋Š” {1, 2,...,49}์—์„œ ์ˆ˜ 6๊ฐœ๋ฅผ ๊ณ ๋ฅธ๋‹ค.

๋กœ๋˜ ๋ฒˆํ˜ธ๋ฅผ ์„ ํƒํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ์ „๋žต์€ 49๊ฐ€์ง€ ์ˆ˜ ์ค‘ k(k>6)๊ฐœ์˜ ์ˆ˜๋ฅผ ๊ณจ๋ผ ์ง‘ํ•ฉ S๋ฅผ ๋งŒ๋“  ๋‹ค์Œ ๊ทธ ์ˆ˜๋งŒ ๊ฐ€์ง€๊ณ  ๋ฒˆํ˜ธ๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, k=8, S={1, 2, 3, 5, 8, 13, 21, 34}์ธ ๊ฒฝ์šฐ ์ด ์ง‘ํ•ฉ S์—์„œ ์ˆ˜๋ฅผ ๊ณ ๋ฅผ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ์ด 28๊ฐ€์ง€์ด๋‹ค.

{[1, 2, 3, 5, 8, 13], [1, 2, 3, 5, 8, 21], [1,2,3,5,8,34], ..., [3,5,8,13,21,34])

์ง‘ํ•ฉ S์™€ k๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ˆ˜๋ฅผ ๊ณ ๋ฅด๋Š” ๋ชจ๋“  ๋ฐฉ๋ฒ•์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจใ…‡์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

์ž…๋ ฅ

์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ์ด๋ฃจ์–ด์ ธ ์ด์‹ฟ. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ํ•œ ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค, ์ฒซ ๋ฒˆ์งธ ์ˆ˜๋Š” k(6 < k < 13)์ด๊ณ , ๋‹ค์Œ k๊ฐœ ์ˆ˜๋Š” ์ง‘ํ•ฉ S์— ํฌํ•จ๋˜๋Š” ์ˆ˜์ด๋‹ค. S์˜ ์›์†Œ๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค.

์ž…๋ ฅ์˜ ๋งˆ์ง€๋ง‰ ์ค„์—๋Š” 0์ด ํ•˜๋‚˜ ์ฃผ์–ด์ง„๋‹ค.

 

์ถœ๋ ฅ

๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค ์ˆ˜๋ฅผ ๊ณ ๋ฅด๋Š” ๋ชจ๋“  ๋ฐฉ๋ฒ•์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ด๋•Œ, ์‚ฌ์ „ ์ˆœ์œผ๋กœ ์ถœ๋ ฅํ•œ๋‹ค.

๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์‚ฌ์ด์—๋Š” ๋นˆ ์ค„์„ ํ•˜๋‚˜ ์ถœ๋ ฅํ•œ๋‹ค.

 

๋‚ด ํ’€๐Ÿฆท

# 6603. ๋กœ๋˜
def backtracking(depth, beginwith):
    if depth == 6:
        print(*result)
        return

    for i in range(beginwith, k):
        if not visited[i]:
            result[depth] = nums[i]
            backtracking(depth+1, i+1)
            visited[i] = False


while True:
    lotto = list(map(int, input().split()))
    k = lotto[0]
    nums = lotto[1:]
    result = [0] * 6
    visited = [False] * k
    backtracking(0, 0) // ๊นŠ์ด, ์–ด๋””์„œ ๋ถ€ํ„ฐ ์‹œ์ž‘ํ• ๊ฑด์ง€

    if k == 0:
        quit()
    print()

 

N๊ณผ M์œผ๋กœ ๋‹ค์ง„ ๋ฐฑํŠธ๋ž˜ํ‚น ๊ฐœ๋…์„ ๋‹ค๋ฅธ ๋ฌธ์ œ์—๋„ ์ ์šฉ์‹œํ‚ค๊ณ  ์‹ถ์–ด์„œ ๋กœ๋˜๋ผ๋Š” ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด์•˜์Šต๋‹ˆ๋‹ค!!!!

์–ด๋ ค์› ๋˜ ์ ....

1. ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค ํ•œ์ค„ ๋›ฐ์šฐ๋Š”๊ฑธ ์–ด๋–ป๊ฒŒ ํ•˜์ง€....

2. ๋งˆ์ง€๋ง‰ 0์ด ๋‚˜์™”์„ ๋•Œ ์ข…๋ฃŒ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•˜์ง€...

3. ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ˆ˜๊ฐ€ ์•ˆ์ฃผ์–ด์กŒ๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ํ•˜์ง€...

 

 

๋ฐฑํŠธ๋ž˜ํ‚น ๊ฐœ๋…์ ์ธ๋ถ€๋ถ„ ๋ณด๋‹ค๋Š” ๋‹ค๋ฅธ๊ฒƒ๋“ค์— ๋” ์‹œ๊ฐ„์„ ๋งŽ์ด ์žก์•„๋จน์—ˆ๋‹ค....

์ˆœ,์กฐ์— ๋Œ€ํ•œ ๊ฐœ๋…์€ ๐Ÿ‘‡๐Ÿ‘‡๐Ÿ‘‡

https://jeniffer0812techstory.tistory.com/94

 

์ˆœ์—ด๊ณผ ์กฐํ•ฉ๐Ÿ’ช

์œ ํŠœ๋ฒ„ ๋”ฉ์ฝ”๋”ฉ์”จ ๋ณด๊ณ  ์ •๋ฆฌํ•ด๋ณด๋Š” ์ˆœ์—ด๊ณผ ์กฐํ•ฉ... ์žฌ๊ท€, ๋ฐฑํŠธ๋ž˜ํ‚น, dfs... ๋“ฑ๋“ฑ ์ •๋ง ๋งŽ์ด ์—ฐ๊ด€๋˜์–ด์žˆ์–ด์„œ ์ •๋ฆฌํ•˜๋ฉด ์ข‹์„๊ฒƒ ๊ฐ™์•„ ์˜ฌ๋ ค๋ด…๋‹ˆ๋‹ค... ##### permutation(์ˆœ์—ด) ''' ์ˆœ์—ด : permutation(ํฌํ•จ๋˜์–ด ์žˆ

jeniffer0812techstory.tistory.com

 

 

์ฐธ๊ณ ํ•˜๋ฉด ์ข‹์„ ๊ฐœ๋…๋“ค โœ๏ธ

  • exit() : ํ”„๋กœ๊ทธ๋žจ ๊ฐ•์ œ ์ข…๋ฃŒ
for i in range(100):
    if i == 5:
        quit()
    print(i)
    
/* 
0
1
2
3
4
*/
728x90
๋ฐ˜์‘ํ˜•
728x90
๋ฐ˜์‘ํ˜•

์ด๋ฒˆ์ฃผ ์ž๋ฐ” ๋น„์ „๊ณต ๊ฐ•์˜ + ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌธ์ œ ํ’€๋ฉด์„œ ํ—ท๊ฐˆ๋ฆฌ๊ณ  ์ž˜ ๋ชจ๋ฅด๋Š”๊ฒƒ๋“ค ์ •๋ฆฌ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค๐Ÿ˜‚๐Ÿ˜‚

 

1. ๋ฌธ์ž์—ด ์ •์ˆ˜ ๋ณ€ํ™˜ (ํŒŒ์ด์ฌ์€ ์ •๋ง ๊ฐ„๋‹จํ•œ๋ฐ์š”...ใ…œใ…œ ์‚ฌ์‹ค ์ž๋ฐ”๋„ ๊ทธ๋ฆฌ ๋ณต์žกํ•˜์ง„ ์•Š์Œ )

  • Interger.valueOf() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ 
// ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค. ์ด์–ด๋ถ™์ธ ์ˆ˜
// new_์ •์ˆ˜ = Integer.valueOf(๋ฌธ์ž์—ด) 

class Solution {
    public int solution(int[] num_list) {
        int answer = 0;
        String even = "";
        String odd = "";
        for (int i = 0; i < num_list.length; i ++){
            if (num_list[i] %2 == 1) {
                even += num_list[i];
            }else {
                odd += num_list[i];
            }
        }
        answer += Integer.valueOf(even) + Integer.valueOf(odd);
        return answer;
    }
}
  • Integer.parseInt() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ
  String str ="30";

  int i = Integer.parseInt(str);  

  System.out.println(i); // 30


๋‘˜์˜  ์ฐจ์ด์ ์€...
valueOf() ๋ฉ”์†Œ๋“œ๋Š” ๋ฌธ์ž์—ด์˜ ๊ฐ’์„ ์ •์ˆ˜ํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•œ ๋’ค ์ฐธ์กฐ ์ž๋ฃŒํ˜•(Reference Type)์ธ Integer ๊ฐ์ฒด๋กœ ๋งŒ๋“ค์–ด์„œ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
parseInt() ๋ฉ”์†Œ๋“œ๋Š” ๊ฒฐ๊ณผ๊ฐ’์„ ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•(Primitive Type)์ธ int ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์œผ๋กœ ๋ฐ›์•„์˜ค๊ณ  ์‹ถ์„ ๋•Œ๋Š” parseInt() ๋ฅผ, ์ฐธ์กฐ ์ž๋ฃŒํ˜• Integer ๊ฐ์ฒด๋กœ ๋ฐ›์•„์˜ค๊ณ  ์‹ถ์„ ๋•Œ๋Š” valueOf() ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค

์•„์ง ๊ฐ์ฒด๋ฅผ ๋ชป ๋ฐฐ์›Œ์„œ ๊ทธ๋Ÿฐ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์ •์ง„... ํ•˜์ง€๋งŒ ๊ทธ๋ž˜๋„ ์•„์‹œ๋Š” ์ž๋ฐ” ๊ณ ์ˆ˜๋‹˜ ๋œ ์ข€ ์•Œ๋ ค์ฃผ์„ธ์š”...

 

 

2. ์ •์ˆ˜๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜(๋งŽ์Œ ์ฃผ์˜...;;;;!!!)

  • Integer.toString()
// 1. Integer.toString() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉํ•˜๊ธฐ 
// ๋ฌธ์ž์—ด = Integer.toString(์ •์ˆ˜)

public class IntToString {
    public static void main(String[] args) {
        int intValue1 = 0812;
        int intValue2 = 8888;
 
        String str1 = Integer.toString(intValue1);
        String str2 = Integer.toString(intValue2);
 
        System.out.println(str1);
        System.out.println(str2);
    }
}

 

  • String.valueOf()
// 2. String.valueOf()
// ๋ฌธ์ž์—ด = String.valueOf(์ •์ˆ˜)

public class IntToString {
    public static void main(String[] args) {
        int intValue1 = 0812;
        int intValue2 = 8888;
 
        String str1 = Integer.valueOf(intValue1);
        String str2 = Integer.valueOf(intValue2);
 
        System.out.println(str1);
        System.out.println(str2);
    }
}

 

  • int + ""
// 3. int + "" (์ œ์ผ ๊ฐ„๋‹จํ•˜๊ณ  ์ข‹๋„ค์š”^^"")
// ๋ฌธ์ž์—ด : int + ""

public class IntToString {
    public static void main(String[] args) {
        int intValue1 = 0812;
        int intValue2 = 8888;
 
        String str1 = intValue1 + "";
        String str2 = intValue2 + "";
 
        System.out.println(str1);
        System.out.println(str2);
    }
}

 

3. for each(๊ฐœ์„ ๋œ for ๋ฌธ)

 

: ์žฅ์  : ๊ฐ„ํŽธ์„ฑ, ๊ฐ€๋…์„ฑ ์ข‹์€ ์ฝ”๋“œ... ๋ฐฐ์—ด ์ธ๋ฑ์Šค ๋ฌธ์ œ ํ•ด๊ฒฐ

: ๋‹จ์  : ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•œ๋‹ค.. ์ˆ˜์ • ๋…ธ์šฐ ใ…œ

 

// for each

// ๋™์ž‘
for(์ž๋ฃŒํ˜• ๋ณ€์ˆ˜๋ช… : ๋ฐฐ์—ด๋ช…) {
	๋ฌธ์žฅ
}

// ์˜ˆ์‹œ
int nums = [1, 2, 3, 4]
for (int num : nums) {
	System.out.println(num);
}
// 1
// 2
// 3
// 4

์–ธ์  ๊ฐ€ for๋ฌธ ์„ ์“ฐ๋Š”๊ฒŒ ๋Šฅ์ˆ™ํ•ด์ง€๋ฉด ์ด ๋ฐฉ๋ฒ•์œผ๋กœ๋„ ์จ๋ด์•ผ๊ฒ ๋‹ค ๐Ÿ˜Š

 

4. charAt() ๋ฉ”์„œ๋“œ

 

: ๋ฌธ์ž์—ด์—์„œ ๋ฌธ์ž ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์„œ๋“œ!!

// .charAt()
// .charAt(์ธ๋ฑ์Šค)

String str = "์•ˆ๋…•ํ•˜์„ธ์šฐ";
char ch1 = str.charAt(0);
char ch2 = str.charAt(1);
char ch3 = str.charAt(2);

System.out.println(ch1); // ์•ˆ
System.out.println(ch2); // ๋…•
System.out.println(ch3); // ํ•˜

 

5. == ๊ณผ .euqlas()์˜ ์ฐจ์ด

 

  •  == ์—ฐ์‚ฐ์ž : ๋น„๊ตํ•˜๊ณ ์ž ํ•˜๋Š” ๋‘๊ฐœ์˜ ๋Œ€์ƒ์˜ ์ฃผ์†Œ๊ฐ’์„ ๋น„๊ต
  • equals ๋ฉ”์†Œ๋“œ : ๋น„๊ตํ•˜๊ณ ์ž ํ•˜๋Š” ๋‘๊ฐœ์˜ ๋Œ€์ƒ์˜ ๊ฐ’ ์ž์ฒด๋ฅผ ๋น„๊ต

์•„์ง ํด๋ž˜์Šค, ์ƒ์† ํŒŒํŠธ๋ฅผ ์•ˆ ๋ฐฐ์›Œ์„œ ์ •ํ™•ํ•œ ์ฐจ์ด ๊ตฌ๋ณ„์ด ์•ˆ๋œ๋‹ค...

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค๊ฐ€ ==์œผ๋กœ ์•„๋ฌด๋ฆฌ ํ•ด๋„ ๋ฌธ์ œ๊ฐ€ ์•ˆ ํ’€๋ฆฌ๊ธธ๋ž˜ ๊ตฌ๊ธ€๋ง์„ ํ–ˆ๋Š”๋ฐ ๋‹ค๋“ค equals๋ฅผ ์‚ฌ์šฉํ•˜์…จ๋‹ค..

equals()๊ฐ€ ๊ฐ’์„ ๋น„๊ตํ•˜๋‹ˆ๊นŒ ๋ฌธ์ž์—ด์„ ๋น„๊ตํ•  ๋•Œ ๋งŒํผ์€ == ์—ฐ์‚ฐ์ž๋ณด๋‹ค๋Š” ๋‚˜์„๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค ์ผ๋‹จ์€.. 

๋‹ค๋ฅธ๋ถ„ ๋ธ”๋กœ๊ทธ์—์„œ ํผ์™”๋‹ค... ์ฃผ์†Œ ๋‚จ๊น๋‹ˆ๋‹ค...

https://sudo-minz.tistory.com/93

 

[Java] ์ž๋ฐ” ๋ฌธ์ž์—ด ๋น„๊ต == equals() ์ฐจ์ด์ 

Java์—์„œ int์™€ boolean๊ณผ ๊ฐ™์€ ์ผ๋ฐ˜์ ์ธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ๋น„๊ต๋Š” ==์ด๋ผ๋Š” ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๊ตํ•œ๋‹ค. ํ•˜์ง€๋งŒ String์ฒ˜๋Ÿผ Class์˜ ๊ฐ’์„ ๋น„๊ตํ• ๋•Œ๋Š” == ๋Œ€์‹  equals()๋ผ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๋น„๊ตํ•˜๋Š”๋ฐ ์–ด๋–จ

sudo-minz.tistory.com

 

6. ์ž๋ฐ” ๋ฌธ์ž์—ด ํ•œ๊ธ€์ž์”ฉ ๋ฐฐ์—ด์— ์ €์žฅํ•˜๊ธฐ

// Split ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋‹จ์–ด๋ฅผ ๋ฐฐ์—ด์— ์ €์žฅํ•˜๊ธฐ

class Solution {
    public int solution(String number) {
        int answer = 0;
        int sum_number = 0;
        
        String[] nums;                // String์„ ๋‹ด์„ ๋ฐฐ์—ด ๋งŒ๋“ค์–ด์ฃผ๊ธฐ
        nums = number.split("");      // ๋ฐฐ์—ด์— ํ•œ๊ธ€์ž์”ฉ ์ €์žฅํ•˜๊ธฐ
        for (int i = 0; i < number.length(); i++){ // for๋ฌธ์œผ๋กœ ํ•˜๋‚˜์”ฉ ๋Œ๋ฆฌ๋ฉด์„œ ๊ฐ’ ์ €์žฅํ•˜๊ธฐ
            sum_number += Integer.parseInt(nums[i]);
        }
        answer = sum_number % 9;
        return answer;
    }
}


// charAt ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋‹จ์–ด๋ฅผ char ๋ฐฐ์—ด์— ํ•œ๊ธ€์ž์”ฉ ์ €์žฅํ•˜๊ธฐ

char[] num = new char[number.length()]; // String์„ ๋‹ด์„ ๋ฐฐ์—ด ๋งŒ๋“ค๊ธฐ
for (int i = 0; i < num.length; i++) {
	num[i] = numver.charAt(i);
}

 

7. ๋ฌธ์ž์—ด ๋งŒ๋“ค๊ธฐ(+์—ฐ์‚ฐ์ด ๋งŽ์•„์ง„๋‹ค๋ฉด ์„ฑ๋Šฅ์ ์œผ๋กœ ์ข‹์ง€ ์•Š๋‹ค) => StringBuilder

 

// ๋ฌธ์ž์—ด ๋งŒ๋“œ๋ฆญ :StringBuilder

public class Main {
	public static void main(String[] args) {
    	StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append('๋ฌธ์ž์—ด").append("์—ฐ๊ฒฐ"); // ํ•œ๋ฒˆ์— ๋‘๊ฐœ append ๊ฐ€๋Šฅ
        // String str = stringBuilder; // String์— StringBuilder๋ฅผ ๊ทธ๋Œ€๋กœ ๋„ฃ์„ ์ˆ˜๋Š” ์—†์€  toString()์„ ๋ถ™์—ฌ์•ผ ํ•œ๋‹ค
        String str = stringBuilder.toString();
        System.out.println(stringBuilder); // ๋ฌธ์ž์—ด์—ฐ๊ฒฐ
        System.out.println(str); // ๋ฌธ์ž์—ด์—ฐ๊ฒฐ
    }
}
728x90
๋ฐ˜์‘ํ˜•

728x90
๋ฐ˜์‘ํ˜•

1. if ๋ฌธ

1) if ๋ฌธ๊ณผ else ๋ฌธ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ

- if ๋ฌธ : ์ฃผ์–ด์ง„ ์กฐ๊ฑด์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ

- else ๋ฌธ: if ๋ฌธ์˜ ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ

if (์กฐ๊ฑด๋ฌธ) {
	<์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ>;
    <์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ2>;
} else {
	<์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ3>;
    <์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ4>;
}

 

2) ๋น„๊ต ์—ฐ์‚ฐ์ž

๋น„๊ต ์—ฐ์‚ฐ์ž ์„ค๋ช…
x <  y x๊ฐ€ y๋ณด๋‹ค ์ž‘๋‹ค
x > y x๊ฐ€ y๋ณด๋‹ค ํฌ๋‹ค
x == y x์™€ y๊ฐ€ ๊ฐ™๋‹ค
x != y x์™€ y๊ฐ€ ๊ฐ™์ง€ ์•Š๋‹ค
x >= y x๊ฐ€ y๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค
x <= y y์‚ฌ x๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค
// ๋ˆ์ด 3000์› ์ด์ƒ ์žˆ์œผ๋ฉด ํƒ์‹œ, ์•„๋‹ˆ๋ฉด ๊ฑท๊ธฐ
int money = 2000;
if (money > 3000) {
    System.out.println("ํƒ์‹œ");
} else {
    System.out.println("๊ฑท๊ธฐ");
}
 // ๊ฑท๊ธฐ

 

3) and, or, not ์—ฐ์‚ฐ์ž

์—ฐ์‚ฐ์ž ์„ค๋ช…
x && y x์™€ y ๋ชจ๋‘ ์ฐธ์ด์–ด์•ผ ์ฐธ
x || y x์™€ y ๋‘˜ ์ค‘์—์„œ ์ ์–ด๋„ ํ•˜๋‚˜๊ฐ€ ์ฐธ์ด๋ฉด ์ฐธ
!x x๊ฐ€ ๊ฑฐ์ง“์ด๋ฉด ์ฐธ
// ์นด๋“œ๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ๋ˆ์ด3000์› ์ด์ƒ ์žˆ์œผ๋ฉด ํƒ์‹œ, ์•„๋‹ˆ๋ฉด ๊ฑท๊ธฐ
int money = 2000;
boolean card = true;
if (money > 3000 || card) {
    System.out.println("ํƒ์‹œ");
} else {
    System.out.println("๊ฑท๊ธฐ");
}

// ํƒ์‹œ

 

4)  contains

- ํ•ด๋‹น ์•„์ดํ…œ์ด ์žˆ๋Š”์ง€ ์กฐ์‚ฌํ•˜๋Š” ๋ฉ”์„œ๋“œ / ์กฐ๊ฑด๋ฌธ์— ๋งŽ์ด ํ™œ์šฉ๋œ๋‹ค

import java.util.ArrayList;

public class money {
	public static void main(String[] args) {
	ArrayList<String> pocket = new ArrayList<String>();
	pocket.add("paper");
	pocket.add("cellphone");
	pocket.add("money");
	
	if (pocket.contains("money")) {
		System.out.println("ํƒ์‹œ๋ฅผ ํƒ€๊ณ  ๊ฐ€๋ผ");
	} else {
		System.out.println("๊ฑธ์–ด๊ฐ€๋ผ");
	}
	
	}
}

// ํƒ์‹œ๋ฅผ ํƒ€๊ณ  ๊ฐ€๋ผ

 

5) else if

- ์žˆ๋‹ค์™€ ์—†๋‹ค์ค‘์— ์—†์„ ๊ฒฝ์šฐ ๋‹ค์‹œ ๊ฒฝ์šฐ๋ฅผ ๋‚˜๋ˆ„์–ด์ฃผ๋Š” ์กฐ๊ฑด๋ฌธ์— ํ•ด๋‹นํ•œ๋‹ค

(if, else๊ฐ€ ์—ฌ๋Ÿฌ๋ฒˆ ์‚ฌ์šฉ๋˜์–ด ํ•œ ๋ฒˆ์— ์ดํ•ดํ•˜๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š๊ณ  ์‚ฐ๋งŒํ•œ ๋Š๋‚Œ์ด๋“œ๋Š๋ฐ... ์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด์„œ... ์ž๋ฐ”๋Š” ์—ฌ๋Ÿฌ ์กฐ๊ฑด์„ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” else if ๋ฌธ์ด ์žˆ๋‹ค)

package test;
import java.util.ArrayList;

public class money {
	public static void main(String[] args) {
	boolean hasCard = true;
	ArrayList<String> pocket = new ArrayList<String>();
	pocket.add("paper");
	pocket.add("cellphone");
	
	if (pocket.contains("money")) {
		System.out.println("ํƒ์‹œ๋ฅผ ํƒ€๊ณ  ๊ฐ€๋ผ");
	} else {
		if (hasCard) {
			System.out.println("ํƒ์‹œ๋ฅผ ํƒ€๊ณ  ๊ฐ€๋ผ");
		}else {
			System.out.println("๊ฑธ์–ด๊ฐ€๋ผ");
		}
	}
	
	}
}

// ํƒ์‹œ๋ฅผ ํƒ€๊ณ  ๊ฐ€๋ผ

 

์•„๋ž˜ else if ๋ถ€๋ถ„๋“ค์„ ์ˆ˜์ •ํ•˜๋ฉด ์กฐ๊ธˆ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜๋กœ ๋‚˜ํƒ€๋‚ด์งˆ ์ˆ˜ ์žˆ๋‹ค / else if๋Š” ๊ฐœ์ˆ˜์ œํ•œ ์—†์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅ

	if (pocket.contains("money")) {
		System.out.println("ํƒ์‹œ๋ฅผ ํƒ€๊ณ  ๊ฐ€๋ผ");
	}else if (hasCard) {
		System.out.println("ํƒ์‹œ๋ฅผ ํƒ€๊ณ  ๊ฐ€๋ผ");
	}else {
		System.out.println("๊ฑธ์–ด๊ฐ€๋ผ");
	}

 

2. switch / case ๋ฌธ

: if ๋ฌธ๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ์ข€ ๋” ์ผ์ •ํ•œ ํ˜•์‹์ด ์ž‡๋Š” ์กฐ๊ฑด๋ฌธ..

=> ์ž…๋ ฅ ๋ณ€์ˆ˜์˜ ๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋Š” case ์ž…๋ ฅ๊ฐ’(์ž…๋ ฅ๊ฐ’1, ์ž…๋ ฅ๊ฐ’2,....) ์ด ์žˆ๋‹ค๋ฉด ํ•ด๋‹น case ๋ฌธ์— ์†ํ•œ ๋ฌธ์žฅ๋“ค์ด ์‹คํ–‰๋œ๋‹ค...

  break ๋ฌธ ๋˜ํ•œ ์กด์žฌ(ํ•ด๋‹น case๋ฌธ์„ ์‹คํ–‰ํ•œ ๋’ค swirch ๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ€๊ธฐ ์œ„ํ•จ), break ๋ฌธ์ด ์—†๋‹ค๋ฉด, ๋‹ค์Œ case๋กœ ์ด๋™

 

package test;
import java.util.ArrayList;

public class money {
	public static void main(String[] args) {
		int month = 8;
		String monthString = " ";
		switch(month) {
		case 1: monthString = "January";
		break;
		case 2: monthString = "February";
		break;
		case 3: monthString = "March";
		break;
		case 4: monthString = "April";
		break;
		case 5: monthString = "May";
		break;
		case 6: monthString = "June";
		break;
		case 7: monthString = "July";
		break;
		case 8: monthString = "August";
		break;
		case 9: monthString = "September";
		break;
		case 10: monthString = "October";
		break;
		case 11: monthString = "November";
		break;
		case 12: monthString = "December";
		break;
		default: monthString = "Invalid month";
		break;
		}
		System.out.println(monthString);
	}
}

ํ•ด๋‹นํ•˜๋Š” ์ˆซ์ž์— ๋Œ€ํ•œ case๊ฐ€ ์‹คํ–‰๋˜์—ˆ๋‹ค!!

๋งŒ์•ฝ month๊ฐ€ 1์—์„œ 12์‚ฌ์ด์˜ ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฐ’์ด ์ €์žฅ๋˜์–ด ์žˆ๋‹ค๋ฉด defaul: ๋ฌธ์žฅ์ด ์ˆ˜ํ–‰๋œ๋‹ค!

๊ฐ’์ด ์ •ํ˜•ํ™”๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ if ๋ฌธ๋ณด๋‹ค๋Š” switch/case ๋ฌธ์„ ์“ฐ๋Š” ๊ฒƒ์ด ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์ด ์ข‹๋‹ค!!

 

3. while ๋ฌธ

: ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ธ ๋™์•ˆ ์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ๋“ค์„ ๋ฐ˜๋ณตํ•ด์„œ ์ˆ˜ํ–‰ํ•œ๋‹ค

package test;

public class tree {
	public static void main(String[] args) {
		int treeHit = 0;
		while (treeHit < 10) {
			treeHit++; // treeHit += 1; ๋กœ๋„ ํ‘œํ˜„๊ฐ€๋Šฅ
			System.out.println("๋‚˜๋ฌด๋ฅผ " + treeHit + "๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.");
			if (treeHit == 10) {
				System.out.println("๋‚˜๋ฌด ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค.");
			}
		}

	}
}

/*
๋‚˜๋ฌด๋ฅผ 1๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋ฌด๋ฅผ 2๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋ฌด๋ฅผ 3๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋ฌด๋ฅผ 4๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋ฌด๋ฅผ 5๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋ฌด๋ฅผ 6๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋ฌด๋ฅผ 7๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋ฌด๋ฅผ 8๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋ฌด๋ฅผ 9๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋ฌด๋ฅผ 10๋ฒˆ ์ฐ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋ฌด ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค.
*/

while๋ฌธ์˜ ์กฐ๊ฑด๋ฌธ : treeHit < 10 (10๋ณด๋‹ค ์ž‘์€ ๋™์•ˆ ์ˆ˜ํ–‰) / +1 ์ปค์ง€๋ฉด์„œ ์ˆ˜ํ–‰ํ•˜๊ณ  / 10์ด ๋˜๋ฉด์„œ ์ข…๋ฃŒ.. while ๋ฌธ ๋น ์ ธ๋‚˜์˜ด

 

 

1) ๋ฌดํ•œ ๋ฃจํ”„

: ๋ฌดํ•œํ•˜๊ฒŒ while ๋ฌธ ๋‚ด์˜ ๋ฌธ์žฅ๋“ค์„ ์ˆ˜ํ–‰... ๋น ์ ธ๋‚˜์˜ค์ง€ ๋ชปํ•œ๋‹ค...

package test;

public class loop {
	public static void main(String[] args) {
		while (true) {
			System.out.println("Ctrl-C๋ฅผ ๋ˆŒ๋Ÿฌ์•ผ while๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.");
		}
	}
}

/*
Ctrl-C๋ฅผ ๋ˆŒ๋Ÿฌ์•ผ while๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Ctrl-C๋ฅผ ๋ˆŒ๋Ÿฌ์•ผ while๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Ctrl-C๋ฅผ ๋ˆŒ๋Ÿฌ์•ผ while๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
...
*/

[Ctrl] + [c] : ์ข…๋ฃŒ

 

2) while ๋ฌธ ๋น ์ ธ๋‚˜๊ฐ€๊ธฐ - break

: while ๋ฌธ์„ ๊ฐ•์ œ๋กœ ๋ฉˆ์ถฐ์•ผ ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค

package test;

public class loop {
	public static void main(String[] args) {
		int coffee = 10;
		int money = 300;
		
		while (money > 0) {
			System.out.println("๋ˆ์„ ๋ฐ›์•˜์œผ๋‹ˆ ์ปคํ”ผ๋ฅผ ์ค๋‹ˆ๋‹ค.");
			coffee--;
			System.out.println("๋‚จ์€ ์ปคํ”ผ์˜ ์–‘์€ " + coffee + "์ž…๋‹ˆ๋‹ค.");
			if (coffee == 0) {
				System.out.println("์ปคํ”ผ๊ฐ€ ๋‹ค ๋–จ์–ด์กŒ์Šต๋‹ˆ๋‹ค. ํŒ๋งค๋ฅผ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค.");
				break;
			}
		}
	}
}

/*
๋ˆ์„ ๋ฐ›์•˜์œผ๋‹ˆ ์ปคํ”ผ๋ฅผ ์ค๋‹ˆ๋‹ค.
๋‚จ์€ ์ปคํ”ผ์˜ ์–‘์€ 9์ž…๋‹ˆ๋‹ค.
๋ˆ์„ ๋ฐ›์•˜์œผ๋‹ˆ ์ปคํ”ผ๋ฅผ ์ค๋‹ˆ๋‹ค.
๋‚จ์€ ์ปคํ”ผ์˜ ์–‘์€ 8์ž…๋‹ˆ๋‹ค.
๋ˆ์„ ๋ฐ›์•˜์œผ๋‹ˆ ์ปคํ”ผ๋ฅผ ์ค๋‹ˆ๋‹ค.
๋‚จ์€ ์ปคํ”ผ์˜ ์–‘์€ 7์ž…๋‹ˆ๋‹ค.
๋ˆ์„ ๋ฐ›์•˜์œผ๋‹ˆ ์ปคํ”ผ๋ฅผ ์ค๋‹ˆ๋‹ค.
๋‚จ์€ ์ปคํ”ผ์˜ ์–‘์€ 6์ž…๋‹ˆ๋‹ค.
๋ˆ์„ ๋ฐ›์•˜์œผ๋‹ˆ ์ปคํ”ผ๋ฅผ ์ค๋‹ˆ๋‹ค.
๋‚จ์€ ์ปคํ”ผ์˜ ์–‘์€ 5์ž…๋‹ˆ๋‹ค.
๋ˆ์„ ๋ฐ›์•˜์œผ๋‹ˆ ์ปคํ”ผ๋ฅผ ์ค๋‹ˆ๋‹ค.
๋‚จ์€ ์ปคํ”ผ์˜ ์–‘์€ 4์ž…๋‹ˆ๋‹ค.
๋ˆ์„ ๋ฐ›์•˜์œผ๋‹ˆ ์ปคํ”ผ๋ฅผ ์ค๋‹ˆ๋‹ค.
๋‚จ์€ ์ปคํ”ผ์˜ ์–‘์€ 3์ž…๋‹ˆ๋‹ค.
๋ˆ์„ ๋ฐ›์•˜์œผ๋‹ˆ ์ปคํ”ผ๋ฅผ ์ค๋‹ˆ๋‹ค.
๋‚จ์€ ์ปคํ”ผ์˜ ์–‘์€ 2์ž…๋‹ˆ๋‹ค.
๋ˆ์„ ๋ฐ›์•˜์œผ๋‹ˆ ์ปคํ”ผ๋ฅผ ์ค๋‹ˆ๋‹ค.
๋‚จ์€ ์ปคํ”ผ์˜ ์–‘์€ 1์ž…๋‹ˆ๋‹ค.
๋ˆ์„ ๋ฐ›์•˜์œผ๋‹ˆ ์ปคํ”ผ๋ฅผ ์ค๋‹ˆ๋‹ค.
๋‚จ์€ ์ปคํ”ผ์˜ ์–‘์€ 0์ž…๋‹ˆ๋‹ค.
์ปคํ”ผ๊ฐ€ ๋‹ค ๋–จ์–ด์กŒ์Šต๋‹ˆ๋‹ค. ํŒ๋งค๋ฅผ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค.
*/

๋ˆ์ด 0๋ณด๋‹ค ํด๋•Œ๋™์•ˆ ์ง„ํ–‰ํ•˜๋‹ค... 0์ด ๋˜์–ด๋ฒ„๋ฆฌ๋ฉด ์ถœ๋ ฅํ›„ break๊ฐ€ ํ˜ธ์ถœ๋˜์–ด while ๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ„๋‹ค

 

3) while ๋ฌธ์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ - continue

: while ๋ฌธ ์•ˆ์˜ ๋ฌธ์žฅ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์–ด๋–ค ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•ด์„œ ์ฐธ์ด ์•„๋‹Œ ๊ฒฝ์šฐ while ๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ€๋Š” ๋Œ€์‹  while ๋ฌธ์˜ ๋งจ ์ฒ˜์Œ, ์ฆ‰ ์กฐ๊ฑด๋ฌธ์œผ๋กœ ๋Œ์•„๊ฐ€๊ฒŒ ํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ continue๋ฅผ ์‚ฌ์šฉ(๋น ์ ธ๋‚˜๊ฐ€์ง€ ์•Š๊ณ  ๋‹ค์‹œ ์˜ฌ๋ผ๊ฐ€์„œ ์ง„ํ–‰)

package test;

public class loop {
	public static void main(String[] args) {
		int a = 0;
		while (a < 10) {
			a++;
			if (a % 2 == 0) {
				continue; // ์ง์ˆ˜์ธ ๊ฒฝ์šฐ ์กฐ๊ฑด๋ฌธ์œผ๋กœ ๋Œ์•„๊ฐ„๋‹ค.
			}
			System.out.println(a); // ํ™€์ˆ˜๋งŒ ์ถœ๋ ฅ๋œ๋‹ค
		}
	}
}

/*
1
3
5
7
9
*/

a๊ฐ€ ์ง์ˆ˜์ด๋ฉด continue๋ฌธ์ด ์‹คํ–‰๋˜์–ด while ๋ฌธ์˜ ๋งจ ์ฒ˜์Œ์œผ๋กœ ๋Œ์•„๊ฐ€๊ฒŒ ํ•œ๋‹ค!! 

๊ทธ๋Ÿฌ๋ฏ€๋กœ a๊ฐ€ ์ง์ˆ˜์ด๋ฉด System.out.println(a)๋Š” ์ˆ˜ํ–‰๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํ™€์ˆ˜๋งŒ ์ถœ๋ ฅ๋  ๊ฒƒ์ด๋‹ค!!!!

 

4. for ๋ฌธ

: ๋ฌธ์žฅ์„ ๋ฐ˜๋ณตํ•ด์„œ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๊ฒฝ์šฐ์— ์‚ฌ์šฉ

 

1) for ๋ฌธ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ

// ๊ธฐ๋ณธ ๊ตฌ์กฐ
for (์ดˆ๊นƒ๊ฐ’; ์กฐ๊ฑด๋ฌธ; ์ฆ๊ฐ“๊ฐ’) {
	...
}

/////
String[] numbers = ["one", "two", "three"]
for (int i = 0; i < numbers.length; i++) :
	System.out.println(numvers[i]);
}
/*
one
two
three
*/

i์˜ ์ดˆ๊นƒ๊ฐ’์€ 0, ์กฐ๊ฑด๋ฌธ์€ i < numbers.length, ์ฆ๊ฐ“๊ฐ’์€ i++์ด ๋œ๋‹ค!!

=> i ๊ฐ’์ด numbers์˜ ๊ฐœ์ˆ˜๋ณด๋‹ค ์ž‘์€ ๋™์•ˆ ๊ณ„์† i ๊ฐ’์„ 1์”ฉ ์ฆ๊ฐ€์‹œํ‚ค๋ฉฐ for ๋ฌธ์˜ ๋ฌธ์žฅ๋“ค์„ ์ˆ˜ํ–‰

 

2) for ๋ฌธ์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ - continue

: while ๋ฌธ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ ์šฉ!

int[] marks = {90, 25, 67, 45, 80};
for (int i = 0; i < marks.length; i++) {
	if (marks[i] < 60) {
    	continue; // ์กฐ๊ฑด๋ฌธ์œผ๋กœ ๋Œ์•„๊ฐ„๋‹ค.
    }
    System.out.println((i+1)+"๋ฒˆ ํ•™์ƒ ์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค. ํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค.");
}

/*
1๋ฒˆ ํ•™์ƒ ์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค. ํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค.
3๋ฒˆ ํ•™์ƒ ์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค. ํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค.
5๋ฒˆ ํ•™์ƒ ์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค. ํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค.
*/

์ ์ˆ˜๊ฐ€ 60์  ๋ฏธ๋งŒ์ด๋ฉด continue๋ฌธ์ด ์‹คํ•ด๋˜์–ด ์ถ•ํ•˜๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ถ€๋ถ„์ด ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ , 

for ๋ฌธ์˜ ์ฒซ๋ถ€๋ถ„์œผ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค!!!

=> ๋ฐ˜๋ณต๋ฌธ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ, ํŠน์ • ์กฐ๊ฑด์—์„œ๋Š” ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ  ๊ฑด๋„ˆ๋›ฐ์–ด์•ผ ํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค!!!!

 

3) ์ด์ค‘ for ๋ฌธ

: for ๋ฌธ์„ ๋‘๋ฒˆ ์‚ฌ์šฉํ•œ ๊ฒƒ..

// ๊ตฌ๊ตฌ๋‹จ ๋งŒ๋“ค๊ธฐ
package test;

public class gugudan {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		for (int i=2; i < 10; i++) {
			for (int j=1; j <10; j++) {
				System.out.print(i*j+" ");
			}
			System.out.println(""); // ์ค„์„ ๋ฐ”๊พธ์–ด ์ถœ๋ ฅํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค
		}
	}
}

/*
2 4 6 8 10 12 14 16 18 
3 6 9 12 15 18 21 24 27 
4 8 12 16 20 24 28 32 36 
5 10 15 20 25 30 35 40 45 
6 12 18 24 30 36 42 48 54 
7 14 21 28 35 42 49 56 63 
8 16 24 32 40 48 56 64 72 
9 18 27 36 45 54 63 72 81 
*/

๋‹จ์ด ๋ฐ”๋€”๋•Œ println์„ ์‚ฌ์šฉํ•˜์—ฌ ์ค„๋ฐ”๊ฟˆํ•˜์—ฌ ๋ฌธ์ž๋ฅผ ์ถœ๋ ฅํ•˜์˜€๋‹ค!!

 

5. for each ๋ฌธ

: ์ด์ „์— ๋ฐฐ์› ๋˜ for๋ฌธ์„ ํ™œ์šฉํ•œ ์˜ˆ์ œ(์ฒจ๋ด„)

// for each ๋ฌธ์˜ ๊ตฌ์กฐ
for (type ๋ณ€์ˆ˜๋ช…: iterate) {
	body-of-loop
}

iterate๋Š” ๋ฃจํ”„๋ฅผ ๋Œ๋ฆด ๊ฐ์ฒด์ด๊ณ  iterate ๊ฐ์ฒด์—์„œ ํ•œ ๊ฐœ์”ฉ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ณ€์ˆ˜๋ช…์— ๋Œ€์ž…๋˜์–ด for ๋ฌธ์ด ์ˆ˜ํ–‰๋œ๋‹ค...

iterate์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒํ˜•์€ ๋ฃจํ”„๋ฅผ ๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒํ˜•(๋ฐฐ์—ด์ด๋‚˜ ArrayList๋“ฑ)๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค...

+ ๋ณ€์ˆ˜๋ช…์˜ type(์ž๋ฃŒํ˜•)์€ iterate ๊ฐ์ฒด์— ํฌํ•จ๋œ ์ž๋ฃŒํ˜•๊ณผ ์ผ์น˜ํ•ด์•ผํ•œ๋‹ค!!!

 

String[] numbers = {"one", "two", "three"};
for(int i = 0; i < numbers.lengh; i++) {
	System.out.println(numbers[i]);
}

// for each ๋ฌธ์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด...
String[] numbers = {"one", "two", "three"};
for(String number: numbers) {
	System.out.println(number);
}

 

๋ฌธ์ œ...

1. everywhere

2. i % 3 == 0

3. i >5 / int j=0; j <5; j++;

4. int i = 1; i < 101; i++;

5. int mark: marks / total / marks.length;

 

728x90
๋ฐ˜์‘ํ˜•
728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ ๐Ÿ˜ต‍๐Ÿ’ซ

์ˆ˜๋นˆ์ด๋Š” ๋™์ƒ๊ณผ ์ˆจ๋ฐ”๊ผญ์งˆ์„ ํ•˜๊ณ ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ํ˜„์žฌ ์ N์— ์žˆ๊ณ  ๋™์ƒ์€ ์  K์— ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ๊ฑท๊ฑฐ๋‚˜ ์ˆœ๊ฐ„์ด๋™์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ, ์ˆ˜๋นˆ์ด์˜ ์œ„์น˜๊ฐ€ X์ผ ๋•Œ ๊ฑท๋Š”๋‹ค๋ฉด 1์ดˆ ํ›„์— X-1 ๋˜๋Š” X+1๋กœ ์ด๋™ํ•˜๊ฒŒ ๋œ๋‹ค, ์ˆœ๊ฐ„์ด๋™์„ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” 1์ดˆ ํ›„์— 2 * X์˜ ์œ„์น˜๋กœ ์ด๋™ํ•˜๊ฒŒ ๋œ๋‹ค

 

์ˆ˜๋นˆ์ด์™€ ๋™์ƒ์˜ ์œ„์น˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ˆ˜๋นˆ์ด๊ฐ€ ๋™์ƒ์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๋น ๋ฅธ ์‹œ๊ฐ„์ด ๋ช‡ ์ดˆ ํ›„์ธ์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

์ž…๋ ฅ!

์ฒซ ๋ฒˆ์งธ ์ค„์— ์ˆ˜๋นˆ์ด๊ฐ€ ์žˆ๋Š” ์œ„์น˜ N๊ณผ ๋™์ƒ์ด ์žˆ๋Š” ์œ„์น˜ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. N๊ณผ K๋Š” ์ •์ˆ˜์ด๋‹ค.

 

์ถœ๋ ฅ!

์ˆ˜๋นˆ์ด๊ฐ€ ๋™์ƒ์„ ์ฐพ๋Š” ๊ฐ€์žฅ ๋น ๋ฅธ ์‹œ๊ฐ„์„ ์ถœ๋ ฅํ•œ๋‹ค.4

 

๋‚ด ํ’€๐Ÿฆท

# 1697. ์ˆจ๋ฐ”๊ผญ์งˆ
from collections import deque
def bfs(start, depth):
    visited = [0] * 100001
    q = deque()
    q.append((start, depth))
    visited[start] = 1
    while q:
        s, d = q.popleft()

        if s == K:
            return d

        for nxt_s in [s-1, s+1, s*2]:
            if 0 <= nxt_s <= 100000 and (not visited[nxt_s] or visited[nxt_s] > d+1):
                q.append((nxt_s, d+1))
                visited[nxt_s] = d+1

N, K = map(int, input().split())
visited = [0] * K
result = dfs(N, 0)
print(result)

 

 ์ฒ˜์Œ์— ๋„๋Œ€์ฒด๊ฐ€ ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ•ด์•ผํ• ์ง€๋„ ๋ชจ๋ฅด๊ฒ ๊ณ  dp๋‚˜ while๋ฌธ์œผ๋กœ ํ’€์–ด์•ผ๊ฒ ๋‹ค ์‹ถ์—ˆ๋Š”๋ฐ ์•Œ๊ณ ๋ณด๋‹ˆ bfs ๋ฌธ์ œ์˜€๋‹คใ…œใ…œ

์‹œ์ž‘์ ๊ณผ ๊นŠ์ด๋ฅผ ๋„ฃ์–ด์„œ ์‹œ์ž‘์ ์ด ๋์ ๊ณผ ๊ฐ™์•„์ง€๋ฉด return์œผ๋กœ ๊นŠ์ด๋ฅผ ๋ฐ›์•„์ฃผ๋ฉด ์ตœ์†Œ๊ฐ’์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค!!

์–ด๋ ค์› ๋˜ ๋ถ€๋ถ„์€ ๋ฐฉ๋ฌธ ํ–ˆ๋˜ ๊ณณ ๋˜๋Š” ๊นŠ์ด๊ฐ€ ๋” ๊นŠ์€๊ณณ๊ณผ ๊ทธ์ „๊นŒ์ง€์˜ ๊นŠ์ด์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์ด ๊ฐ™์•˜์„๋•Œ๋Š” ๋ฐฐ์ œํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด์—ˆ๋‹ค... ๋‹ค๋ฅธ ๋ถ„๋“ค ์ฝ”๋“œ๋ฅผ ๋ณด์•˜์„๋•Œ๋Š” ์ด๋ฏธ ๋ฐฉ๋ฌธํ•œ๊ณณ์„ continue๋กœ ๋„˜๊ฒจ์„œ ๊ฐ„๋‹จํžˆ ํ•ด๊ฒฐํ•ด ์ฃผ๋Š”๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค...์–ด๋–ป๊ฒŒ ํ’€์–ด์•ผํ• ์ง€๊นŒ์ง€ ๊ณ ๋ฏผํ•œ ๋ฌธ์ œ๋Š” ์˜ค๋žœ๋งŒ์ด๋ผ ๋”์šฑ ํž˜๋“ค์—ˆ๋‹ค ๐Ÿ˜‚๐Ÿ˜‚๐Ÿ˜‚๐Ÿ˜‚

 

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•
728x90
๋ฐ˜์‘ํ˜•

์œ ํŠœ๋ฒ„ ๋”ฉ์ฝ”๋”ฉ์”จ ๋ณด๊ณ  ์ •๋ฆฌํ•ด๋ณด๋Š” ์ˆœ์—ด๊ณผ ์กฐํ•ฉ...

์žฌ๊ท€, ๋ฐฑํŠธ๋ž˜ํ‚น, dfs... ๋“ฑ๋“ฑ ์ •๋ง ๋งŽ์ด ์—ฐ๊ด€๋˜์–ด์žˆ์–ด์„œ ์ •๋ฆฌํ•˜๋ฉด ์ข‹์„๊ฒƒ ๊ฐ™์•„ ์˜ฌ๋ ค๋ด…๋‹ˆ๋‹ค...

##### permutation(์ˆœ์—ด)

'''
์ˆœ์—ด : permutation(ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์ˆ˜๊ฐ€ ๊ฐ™์€ ์ˆ˜์—ฌ๋„ ์ˆœ์„œ๊ฐ€ ๋‹ค๋ฅด๋ฉด ๋‹ค๋ฅธ๊ฑธ๋กœ ์นœ๋‹ค)
dfs ํŠธ๋ฆฌ์™€ ์ฒดํฌ๋ฆฌ์ŠคํŠธ ์‚ฌ์šฉ

3๊ฐœ์˜ ๊ณต ์ค‘์— 2๊ฐœ๋ฅผ ๋ฝ‘๋Š” ๊ฒฝ์šฐ(3P2)
์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ ๋„ฃ์œผ๋ฉด ์•ˆ๋˜๋ฏ€๋กœ ์ฒดํฌ๋ฆฌ์ŠคํŠธ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž„....
๊นŠ์ด + 1 ํ•œํ›„ ๊ธธ์ด์— ๋งž๋Š” ๊ฐ’์„ ๋ฆฌํ„ด์„ ํ•˜๊ณ ๋‚˜๋ฉด
๋‹ค์‹œ ์ฒดํฌ๋ฆฌ์ŠคํŠธ์— ๋นผ์ค˜์„œ ๋‹ค์‹œ ๋„ฃ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค..

1 2
1 3
2 1
2 3
3 1
3 2
6๊ฐ€์ง€
'''

def dfs(L):
    # ์ข…๋ฃŒ ์กฐ๊ฑด
    # ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด๊ฐ€ ์ฐพ์•„์•ผ ํ•  ๊ฐœ์ˆ˜(r)๊ฐ€ ๋œ๋‹ค๋ฉด ์ข…๋ฃŒ
    if L == r:
        print(result)
    else:
        for i in range(len(n)):
            # ์ฒดํฌ๋ฆฌ์ŠคํŠธ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์ด ์—†๋‹ค๋ฉด
            if checklist[i] == 0:
                # result ๋ฆฌ์ŠคํŠธ์— ๊ฐ’์„ ์ถ”๊ฐ€
                result[L] = n[i]
                # ์ฒดํฌ๋ฆฌ์ŠคํŠธ์— ๊ฐ’์ด ์ƒ๊ฒผ๋‹ค๊ณ  ํ‘œ์‹œํ•ด์ฃผ๊ธฐ
                checklist[i] = 1
                # ๋‹ค์Œ ๊นŠ์ด๋กœ ์ด๋™
                dfs(L+1)
                # ๋‹ค์Œ ๋ฒˆ์— ๋‹ค์‹œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋นผ์ค€๋‹ค๊ณ  ๊ทธ๋ƒฅ ์ƒ๊ฐํ•˜์…ˆ ^^;;;
                checklist[i] = 0

n = [1, 2, 3]
r = 2
result = [0] * r
checklist = [0] * len(n)
dfs(0)

 

์ดํ•ด๋„ ์ดํ•ด์ง€๋งŒ ์–ด๋Š์ •๋„ ์™ธ์šธ๋งŒํผ์€ ์™ธ์šฐ๋ผ๊ณ  ํ•˜์‹ฌ...

์ดํ•ดํ•ด์•ผ ์™ธ์šฐ์ง€ ์‹ถ๋‹ค๊ฐ€๋„ ์ด๋Ÿฌ๋‹ค๊ฐ€ ์ง„๋„๊ฐ€ ์˜ ์•ˆ๋‚˜๊ฐˆ๊ฑฐ ๊ฐ™์•„์„œ ์ ๋‹นํžˆ ์ดํ•ด์‹œ์ผœ์„œ ์™ธ์šฐ๋Š”๊ฒƒ์ด ์ข‹์„ ๋“ฏ...

 

'''
์กฐํ•ฉ : ๊ฐ™์€ ์ˆซ์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ๊ฐ™์€ ๊ฑธ๋กœ ์ธ์ •....
์ˆœ์—ด๋ณด๋‹ค ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ํ›จ์”ฌ ์ž‘์Œ...
์ˆœ์—ด๋ณด๋‹ค ๋” ๊ฐ„๋‹จ...
ํ•œ๋ฒˆ ์ผ์œผ๋ฉด ๋‹ค์‹œ ์“ฐ์ง€๋ฅผ ์•Š์œผ๋‹ˆ๊นŒ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋„ ํ•„์š”์—†์Œ...
DFS ํŠธ๋ฆฌ๋ฅผ ์ด์šฉํ•ด์„œ ํ‘ผ๋‹ค

3C2

1 2
1 3
2 3

3๊ฐ€์ง€
'''
def dfs(L, BeginWith):
    # ์ข…๋ฃŒ ์กฐ๊ฑด
    if L == r:
        print(*result)
    else:
        for i in range(BeginWith, len(n)): # ์‹œ์ž‘ํ•˜๋Š” ๊ฐ’๋ถ€ํ„ฐ ๋๊นŒ์ง€
            result[L] = n[i] # ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๊ธฐ
            dfs(L+1, i+1) # ๋‹ค์Œ ๊น‰์ด ๋‹ค์Œ ์ˆซ์ž๋กœ ์ด๋™ํ•˜์—ฌ ์ „ ๊ฐ’์„ ๋“ค์–ด์˜ค์ง€ ๋ชปํ•˜๋„๋ก


n = [1, 2, 3]
r = 2
result = [0] * r

dfs(0, 0) # level, begin(์–ด๋””์„œ ์‹œ์ž‘ํ• ์ง€)
728x90
๋ฐ˜์‘ํ˜•

+ Recent posts