๐Ÿ“Certificate/Engineer Information Processing

[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] ์‹ค๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ธ์–ด 3๋ฌธ์ œ (7)

Sun A 2024. 8. 15. 17:21

1๏ธโƒฃ [JAVA]

2023.2

๋‹ค์Œ์€ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋Œ€ํ•œ ๋ฌธ์ œ์ด๋‹ค. ์•Œ๋งž์€ ์ถœ๋ ฅ๊ฐ’์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋‹จ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ํŠน์„ฑ์— ๋”ฐ๋ฅธ ๋Œ€·์†Œ๋ฌธ์ž๋ฅผ ๋ฐ˜๋“œ์‹œ ๊ตฌ๋ณ„ํ•ด์„œ ์ž‘์„ฑํ•˜์‹œ์˜ค.

public class Main{
    public static void main(String[] args) {
        String str1 = "Programming";
        String str2 = "Programming";
        String str3 = new String("Programming");

        System.out.println(str1 == str2);
        System.out.println(str1 == str3);
        System.out.println(str1.equals(str3));
        System.out.println(str2.equals(str3));
    }
}
true
false
true
true

java์—์„œ '==' ๋Š” ๋‘ ๋ฌธ์ž์—ด์˜ ์ฃผ์†Œ(์ฐธ์กฐ)๊ฐ’์ด ๊ฐ™์€์ง€ ๋น„๊ตํ•œ๋‹ค. ๋‹ค์‹œ ๋งํ•ด ๋‘ ๊ฐ์ฒด๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋™์ผํ•œ ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š”์ง€๋ฅผ ํ™•์ธํ•œ๋‹ค.

str1๊ณผ str2๋Š” ๊ฐ™์€ ์ฃผ์†Œ๊ฐ’์„ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์— true๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

ํ•˜์ง€๋งŒ str3๋Š” new ์—ฐ์‚ฐ์ž๋กœ ์ƒ์„ฑํ•œ ๋ฌธ์ž์—ด ๊ฐ์ฒด์ด๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์†Œ๊ฐ’์ด str1์ด๋ž‘ ๋‹ฌ๋ผ์„œ false๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

์—ฌ๊ธฐ์„œ equals() ๋ฉ”์„œ๋“œ๋Š” ๋‘ ๋ฌธ์ž์—ด์˜ ๋‚ด์šฉ์„ ๋น„๊ตํ•˜๋Š” ์˜๋ฏธ์ด๋‹ค. ๋‹ค์‹œ ๋งํ•ด ๋‘ ๋ฌธ์ž์—ด์ด ๋™์ผํ•œ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— str1, str2, str3๋Š” ๋ชจ๋‘ ๋™์ผํ•œ ๋ฌธ์ž์—ด์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋‘ true๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

2๏ธโƒฃ [C์–ธ์–ด]

2023.2

๋‹ค์Œ์€ C์–ธ์–ด ์ฝ”๋“œ์˜ ๋ฌธ์ œ์ด๋‹ค. ๋‹ค์Œ์˜ ์กฐ๊ฑด์— ๋งž๋„๋ก ๋นˆ ๊ด„ํ˜ธ ์•ˆ์— ์•Œ๋งž์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์‹œ์˜ค.

#include <stdio.h>

int main(void) {

    int n[5];
    int i;

    for (i = 0; i < 5; i++) {
        printf("์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š” : ");
        scanf("%d", &n[i]);
    }

    for (i = 0; i < 5; i++) {
        printf("%d ", (             ));
    }

    return 0;
}
[์กฐ๊ฑด]

์ž…๋ ฅ๊ฐ’์ด 54321์ผ ๊ฒฝ์šฐ ์ถœ๋ ฅ๊ฐ’์ด 43215๋กœ ์ถœ๋ ฅ๋˜์–ด์•ผ ํ•œ๋‹ค.
n[(i+1) % 5]

n[5]๋Š” ํฌ๊ธฐ๊ฐ€ 5์ธ ์ •์ˆ˜ํ˜• ๋ฐฐ์—ด์„ ์„ ์–ธํ•œ ๊ฒƒ์ด๋‹ค.

ํ•ด๋‹น ๋ฐฐ์—ด์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ 5๊ฐœ์˜ ์ˆซ์ž๋ฅผ ์ €์žฅํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  i๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ–ˆ๋‹ค.

 

์ฒซ๋ฒˆ์งธ for ๋ฐ˜๋ณต๋ฌธ์„ ๋ณด๋ฉด scanf๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ”„๋กœ๊ทธ๋žจ ๋‚ด ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

%d๋ฅผ ์จ์„œ scanf๊ฐ€ ์ž…๋ ฅ๋œ ๊ฐ’์„ ์ •์ˆ˜๋กœ ํ•ด์„๋˜๋„๋ก ํ•œ๋‹ค. 

๊ทธ๋ฆฌ๊ณ  ์ฃผ์†Œ ์—ฐ์‚ฐ์ž '&' ๊ธฐํ˜ธ๋ฅผ ์จ์„œ ๋ณ€์ˆ˜๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์œ„์น˜ํ•œ ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•œ๋‹ค. ๊ฒฐ๋ก ์ ์œผ๋กœ scanf๊ฐ€ ์ง์ ‘ ๋ณ€์ˆ˜์— ๊ฐ’์„ ์ €์žฅํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— &n[i]๋ฅผ ์“ด ๊ฒƒ์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์กฐ๊ฑด์„ ๋ณด๋ฉด ์ž…๋ ฅ๊ฐ’์ด 54321์ผ ๋•Œ 43215๋กœ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. 

๊ทธ๋Ÿฌ๋ ค๋ฉด ํ˜„์žฌ ์ €์žฅ๋œ ๊ฐ’์˜ ์ˆœ์„œ๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•œ๋‹ค. 

index 0 1 2 3 4
i 5 4 3 2 1

์ถœ๋ ฅ๋˜๋ ค๋ฉด index์˜ ์ˆœ์„œ๊ฐ€ 1 2 3 4 0 ์ด ๋˜์–ด์•ผ ํ•œ๋‹ค

๋งŒ์•ฝ, n[(i+1)]๋งŒ ์“ด๋‹ค๋ฉด ๋งˆ์ง€๋ง‰์— index๊ฐ€ 5๊ฐ€ ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ 0 ๊ฐ’์ด ๋‚˜์˜ค๋ ค๋ฉด 5์—์„œ 5๋ฅผ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋„๋ก ํ•˜๋ฉด๋œ๋‹ค.

n[(i+1) % 5]

 

3๏ธโƒฃ [C์–ธ์–ด]

2022.3ํšŒ

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

void main{
 
int []result = int[5];
int []arr = [77,32,10,99,50];
 
  for(int i = 0; i < 5; i++) {
    result[i] = 1;
    for(int j = 0; j < 5; j++) {
      if(arr[i] <arr[j]) result[i]++;
    }
  }
 
  for(int k = 0; k < 5; k++) {
    printf(result[k]);
  }
}
24513

result ๋ฐฐ์—ด์—๋Š” 5๊ฐœ์˜ ์ˆซ์ž๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ๊ณ  arr ๋ฐฐ์—ด์—๋Š” 5๊ฐœ์˜ ์ˆซ์ž๊ฐ€ ์ •์˜๋˜์–ด์žˆ๋‹ค.

int ์ •์˜ ๊ฐ’ ์•„๋ž˜์˜ for ๋ฐ˜๋ณต๋ฌธ์„ ์‹คํ–‰ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

i ๊ฐ€ 0์ผ๋•Œ j๋ฅผ ๋ชจ๋‘ ์‹คํ–‰ํ•˜๋ฉด 77๋ณด๋‹ค ํฐ ๊ฐ’์ด 1๊ฐœ์ด๊ธฐ ๋•Œ๋ฌธ์— result[0]์€ 2๊ฐ€๋œ๋‹ค.

i = 1, 32๋ณด๋‹ค ํฐ ๊ฐ’ 3๊ฐœ / result[1] = 4

i = 2, 10๋ณด๋‹ค ํฐ ๊ฐ’ 4๊ฐœ / result[2] = 5

i = 3, 99๋ณด๋‹ค ํฐ ๊ฐ’ 0๊ฐœ / result[3] = 1

i = 4, 50๋ณด๋‹ค ํฐ ๊ฐ’ 2๊ฐœ / result[4] = 3

printf(result[k]); ์˜ ๋‹ต์€

24513

์ด ๋œ๋‹ค.