๐Ÿฅ‡ ์ •๋ณด์ฒ˜๋ฆฌ ๊ธฐ์‚ฌ ์‹ค๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ-์ œ์–ด๋ฌธ

C๋กœ ๊ตฌํ˜„๋œ ํ”„๋กœ๊ทธ๋žจ์„ ๋ถ„์„ํ•˜์—ฌ ๊ทธ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ์“ฐ์‹œ์˜ค

#include <stdio.h>
main() { 
	int s, el = 0;
	for (int i = 6; i <= 30; i++) {
		s = 0;
		for (int j = 1; j <= i / 2; j++)
			if (i % j == 0)
				s = s + j;
			if (s == i)
				el++;
	}
	printf("%d", el);
}
  • j <= i / 2; -> ๋‚˜๋จธ์ง€๊ฐ€ ๋ช‡์ด๋“  ๋ฒ„๋ฆฐ๋‹ค.
  • ํ•˜๋‚˜ํ•˜๋‚˜ ๋ถ„์„ํ•˜๋ฉด,
  1. 6~30๊นŒ์ง€ ์ž์‹ ์˜ ์•ฝ์ˆ˜(๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆ˜)๋ฅผ ๋ชจ๋‘ ๋”ํ•œ๋‹ค
  2. ๋ชจ๋‘ ๋”ํ•œ ์ˆ˜์™€ ์ž์‹ ์ด ๊ฐ™์€์ง€ ํŒ๋‹จํ•˜์—ฌ ์ถœ๋ ฅํ•œ๋‹ค.
  3. 6๊ณผ 28์ด ํ•ด๋‹นํ•œ๋‹ค.

๋‹ต : 2


java๋กœ ๊ตฌํ˜„๋œ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰๊ฒฐ๊ณผ๋ฅผ ์ž‘์„ฑํ•˜์‹œ์˜ค.

public class Test {
	public static void main(String[] args) { 
		int r = 0; 
		for (int i = 1; i < 999; i++) {
			if (i % 3 == 0 && i % 2 == 0)
				r = i;
			} 
			System.out.print(r);
		}
	}
  • 1 ~ 998๊นŒ์ง€
  • 3์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด์„œ,
  • 2๋กœ๋„ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ๋…€์„ ์ฆ‰, 2์™€ 3์˜ ๊ณต๋ฐฐ์ˆ˜(6์˜ ๋ฐฐ์ˆ˜)
  • ์ผ๋•Œ, ๊ฐ€์žฅ ํฐ์ˆ˜(๋งค๋ฒˆ ์ดˆ๊ธฐํ™” ํ•˜๋ฏ€๋กœ)๋ฅผ ๊ตฌํ•œ๋‹ค.

๋‹ต : 996


java๋กœ ๊ตฌํ˜„๋œ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰๊ฒฐ๊ณผ๋ฅผ ์ž‘์„ฑํ•˜์‹œ์˜ค.

public class Test { 
	public static void main(String[] args) { 
		int i = 3, k = 1; 
		switch(i) { 
			case 1: 
				k++; 
			case 2: 
				k -= 3;
			case 3:
				k = 0;
			case 4:
				k += 3;
			case 5: 
				k -= 10; 
			default:
				k--; 
			}
		System.out.print(k);
	}
}
  1. i๊ฐ€ 3์ด๋ฏ€๋กœ case3์„ ์ฐพ์•„๊ฐ„๋‹ค.
  2. break๋ฌธ์ด ์—†์œผ๋ฏ€๋กœ ๊ทธ ๋ฐ‘์œผ๋กœ ์ญ‰ ์ˆ˜ํ–‰ํ•œ๋‹ค ( ์กฐ๊ฑด์‹์— ๋ถ€ํ•ฉํ•˜์ง€ ์•Š๋”๋ผ๋„, )

๋‹ต : -8


C๋กœ ๊ตฌํ˜„๋œ ํ”„๋กœ๊ทธ๋žจ์„ ๋ถ„์„ํ•˜์—ฌ ๊ทธ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ์“ฐ์‹œ์˜ค.

1234์˜ ์—ญ์ˆœ์€ 4321์ด๋‹ค. ๋‹จ 1230์ฒ˜๋Ÿผ 0์œผ๋กœ ๋๋‚˜๋Š” ์ •์ˆ˜๋Š” ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š”๋‹ค.

#include <stdio.h>
	int main() {
		int number = 1234; 
		int div = 10, result = 0; 
		while (number "( 1 )" 0) { 
			result = result * div; 
			result = result + number "( 2 )" div; 
			number = number "( 3 )" div;
		} 
		printf("%d", result);
	}
  1. ํ•œ์ž๋ฆฌ์ˆ˜์”ฉ ์ปค์ง€๋ฉด์„œ ๋ฐ”๊พธ๋Š”๊ฑฐ๋‹ค.
  2. > : 0๋ณด๋‹ค ํด๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.
  3. % : ๋‚˜๋จธ์ง€๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค
  4. / : ๋‚˜๋ˆ„๊ณ , ๋‚˜๋จธ์ง€๋ฅผ ๋ฒ„๋ฆฐ๋‹ค.
์ฒซ ์‚ฌ์ดํด
0
4
123
๋‘ ๋ฒˆ์จฐ
40
43
12
์„ธ ๋ฒˆ์งธ
430
432
1
๋„ค ๋ฒˆ์งธ
4320
4321
0

๋‹ต : > , % , /


java๋กœ ๊ตฌํ˜„๋œ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰๊ฒฐ๊ณผ๋ฅผ ์ž‘์„ฑํ•˜์‹œ์˜ค.

public class Test { 
	public static void main(String[] args) { 
		int w = 3, x = 4, y = 3, z = 5; 
		if((w == 2 | w == y) & !(y > z) & (1 == x ^ y != z)) { 
			w = x + y; 
			if(7 == x ^ y != w)
				System.out.println(w);
			else 
				System.out.println(x); 
		} 
		else {
			w = y + z; 
			if(7 == y ^ z != w)
				System.out.println(w); 
			else 
				System.out.println(z); 
			}
		}
	}
  1. & , | -> ๋น„ํŠธ ์—ฐ์‚ฐ์œผ๋กœ์จ, 2์ง„๋ฒ•์„ ๋น„ํŠธ์—ฐ์‚ฐํ•˜๋ฉด ๋œ๋‹ค.

  2. x ^ y ์—ฐ์‚ฐ์€ ๋น„ํŠธ XOR์—ฐ์‚ฐ์œผ๋กœ์จ, 001 -> y != z 000 -> 1 == x --- (๊ฐ™์œผ๋ฉด 0 / ๋‹ค๋ฅด๋ฉด 1) 001 -> 4 ๊ฐ€ ๋œ๋‹ค.

๋‹ต : 7


๋‹ค์Œ Python์œผ๋กœ ๊ตฌํ˜„๋œ ํ”„๋กœ๊ทธ๋žจ์˜ ์ถœ๋ ฅ์„ ์“ฐ์‹œ์˜ค.

a = 100 
result = 0 
for i in range(1,3):
	result = a >> i
	result = result + 1 
print(result)
  1. i = 1,2 ์ˆ˜ํ–‰
  2. a >> i ๋Š” ์˜ค๋ฅธ์ชฝ ์‹œํ”„ํŠธ ์—ฐ์‚ฐ์ž๋กœ์จ, a๊ฐ’์„ ์˜ค๋ฅธ์ชฝ์œผ๋กœ i๋น„ํŠธ ์›€์ง์ธ๋‹ค๋Š” ๋œป์ด๋‹ค.
  3. ํŒŒ์ด์ฌ์—์„œ ์ •์ˆ˜๋Š” 4Byte์ด๋ฏ€๋กœ, 8bit x 32๊ฐœ ๋กœ ๊ณ„์‚ฐํ•˜๋ฉด ๋œ๋‹ค.
  • 100์„ ๋จผ์ € 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ 0000 ... 0001100100 -> 100 (4 + 32 + 64)

  • ์‹œํ”„ํŠธ ์—ฐ์‚ฐ์„ ํ•œ๋ฒˆ ์ˆ˜ํ–‰ํ•˜๋ฉด 0000 ... 0000110010 -> 50 (2 + 16 + 32) +1 ์„ ํ•˜๋ฉด 51 -> 110011

  • ํ•œ๋ฒˆ ๋” ์ˆ˜ํ–‰ํ•˜๋ฉด 100์„ ๋‘์นธ ์‹œํ”„ํŠธ ํ•œ๋‹ค 0000 ... 0000011001 -> 25 (1 + 8 + 16) 25+1 = 26

ํŒŒ์ด์ฌ์˜ print

๊ธฐ๋ณธ์ ์œผ๋กœ ํŒŒ์ด์ฌ์˜ print๋Š” print(end='\n') ์ด ํฌํ•จ๋œ ์‹์ด๋‹ค. (์ค„๋ฐ”๊ฟˆ ๋””ํŽ„ํŠธ)
์ฆ‰ print("123", end=' ')๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์ค„๋ฐ”๊ฟˆ ๋Œ€์‹  ๊ณต๋ฐฑ์ด ์‚ฝ์ž…๋œ๋‹ค.

๋‹ต : 26


๋‹ค์Œ JAVA์ฝ”๋“œ๋Š” 10์ง„์ˆ˜๋ฅผ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ๋นˆ์นธ์„ ์ฑ„์›Œ๋ผ

public class Test { 
	public static void main(String[]args) { 
		int a[] = new int[8]; 
		int i = 0; 
		int n = 10; 
		while( "( 1 )" ) { 
			a[i++] = "( 2 )";
			n /= 2; 
		} 
		for(i = 7; i >= 0; i--)
			System.out.print(a[i]); 
	} 
}
  • n /= 2;๋ž€ n = n / 2๋ž‘ ๋™์ผํ•œ ๋ฌธ๋ฒ•์ด๋‹ค.

๋จผ์ €, 10์ง„์ˆ˜๋ฅผ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”, 2๋กœ ๊ณ„์†ํ•ด์„œ ๋‚˜๋ˆ„์–ด, ๋‚˜๋จธ์ง€๋ฅผ ์‚ฝ์ž…ํ•˜๋ฉด๋œ๋‹ค.

10 / 2 = 5(0)
5 / 2 = 2(1)
2 / 2 = 1(0)
 (1)
10 -> 1010 (8+2)

19 / 2 = 9(1)
9 / 2 = 4(1)
4 / 2 = 2(0)
2 / 2 = 1(0)
(1)
19 -> 10011 (16+2+1)

JAVA๋Š” ๋ฐฐ์—ด ์„ ์–ธ์‹œ ์ดˆ๊ธฐํ™”๋ฅผ ํ•˜์ง€ ์•Š์œผ๋ฉด 0 ์ด ์‚ฝ์ž…๋œ๋‹ค a[i++] = x ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด i๋ฒˆ์งธ ์ž๋ฆฌ์— ๊ฐ’ ์‚ฝ์ž… ํ›„, i๊ฐ’์„ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.

  1. ์ฒซ๋ฒˆ์งธ ์กฐ๊ฑด์‹์—๋Š” n > 0์„ ๋„ฃ๋Š”๋‹ค.
  2. 16์ผ๋•Œ, a[] ๋ฐฐ์—ด์—๋Š” 11001 ์ˆœ์„œ๋กœ ๋“ค์–ด๊ฐ€๊ฒŒ๋œ๋‹ค.
  3. n % 2(๋‚˜๋จธ์ง€๊ฐ€ ๊ณ„์† ๋“ค์–ด๊ฐ„๋‹ค.) 10 -> 5 -> 2 -> 1 -> 0(์กฐ๊ฑด์‹์— ๋ถ€ํ•ฉ) ์‹คํ–‰ X 0 1 0 1 a = [0,1,0,1,0,0,0,0]
  4. ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ์ถœ๋ ฅํ•˜๋ฉด 1010 ์ด ๋œ๋‹ค. ์ถœ๋ ฅ์€ 00001010์ด ๋œ๋‹ค.

๋‹ต : n > 0 , n % 2


๋‹ค์Œ JAVA์ฝ”๋“œ์—์„œ ์ถœ๋ ฅ๋˜๋Š” ๊ฐ’์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

public class Main {
    static void func(String[] m, int n) {
        for (int i = 1; i < n; i++) {
            if (m[i-1].equals(m[i])) {  
                System.out.print("O");
            } else {
                System.out.print("N");
            }
        }

        for (String mo : m) {
            System.out.print(mo);
        }
    }

    public static void main(String[] args) {
        String[] m = new String[3];
        m[0] = "A";
        m[1] = "A";
        m[2] = new String("A");  
        func(m, 3);
    }
}
  • JAVA์—์„œ .equalsํ•จ์ˆ˜๋Š” ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๊ฐ’ ์ž์ฒด๋ฅผ ๋น„๊ตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ™์€ ๊ฐ’์œผ๋กœ ์ทจ๊ธ‰ํ•œ๋‹ค.

๋‹ต : OOAAA


๋‹ค์Œ ํŒŒ์ด์ฌ ์ฝ”๋“œ์—์„œ ์ถœ๋ ฅ๋˜๋Š” ๊ฐ’์„ ์“ฐ์‹œ์˜ค.

def test(lst):
	for i in range(len(lst) // 2):
		lst[i], lst[-i-1] = lst[-i-1], lst[i]
ls = [1,2,3,4,5,6]
test(ls)
print(sum(ls[::2]) - sum(ls[1::2]))
  • ํŒŒ์ด์ฌ์—์„œ list[a::b]ํ˜•ํƒœ๋Š” a๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ(์—†๋‹ค๋ฉด 0) b์นธ์”ฉ ๊ฑด๋„ˆ ๋›ฐ์–ด ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ.
  • ๋”ฐ๋ผ์„œ, testํ•จ์ˆ˜๋กœ ๋ฆฌ๋ฒ„์Šค๋œ ๋ฆฌ์ŠคํŠธ [::2] -> 6,4,2 / [1::2] -> 5,3,1 ์ด๋‹ค.

๋‹ต : 3