๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“Certificate/Engineer Information Processing

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

by Sun A 2024. 10. 11.

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

2022.2

๋‹ค์Œ C์–ธ์–ด์—์„œ ์ถœ๋ ฅ์— ๋Œ€ํ•œ ์•Œ๋งž์€ ๋‹ต์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

#include 
 
int len(char*p);
 
int main(){
 
  char*p1 = "2022";
  char*p2 = "202207";  
  
  int a = p1;
  int b = p2;
  
  printf("%d", len(a) + len(b));
 
}
 
int len(char*p){
  int r = 0;
  while(*p != '\0'){
    p++;
    r++;
  }
return r;
}
10

 

2๏ธโƒฃ [JAVA]

2022.1ํšŒ

๋‹ค์Œ Java ์ฝ”๋“œ ์ค‘์—์„œ ๋ฐ‘์ค„์— ๋“ค์–ด๊ฐˆ ์•Œ๋งž๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์‹œ์˜ค.

class Car implements Runnable{
  int a;
  
  public void run(){
     system.out.println("Hello")
  }
}
  
public class Main{
  public static void main(String[] args){
    Thread t1 = new Thread(new ___());
    t1.start();
  }
}
Car

new : ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

t1์— Thread ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ

์—ฌ๊ธฐ์„œ Thread๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” 

Thread๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Runnable์ด ๊ตฌํ˜„๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.

Car ํด๋ž˜์Šค์˜ Runnable์ด๋ผ๋Š” ์• ๊ฐ€ ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

implements : ๊ตฌํ˜„ํ•˜๋‹ค

run() : Runnable์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฉ”์„œ๋“œ

Runnable ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” run ๋ฉ”์„œ๋“œ๊ฐ€ ๊ตฌํ˜„๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. 

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— Thread๊ฐ€ ์‚ฌ์šฉ๋˜๋ ค๋ฉด Runnable์ด ๊ตฌํ˜„๋˜์–ด์•ผ ํ•ด์„œ ๋ฐ‘์ค„์—๋Š” Car์ด ๋“ค์–ด๊ฐ€์•ผ ํ•œ๋‹ค.

 

3๏ธโƒฃ [Python]

2024.2ํšŒ

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

def cnt(str, p):
    result = 0
    for i in range(len(str)):
        sub = str[i:i+len(p)]
        if sub == p:
            result += 1
    return result

str = "abdcabcabca"
p1 = "ca"
p2 = "ab“

print(f'ab{cnt(str, p1)} ca{cnt(str, p2)}')
ab3 ca3

print๋ฅผ ๋ณด๋ฉด cnt ํ•จ์ˆ˜์— str๊ณผ p1, p2๊ฐ€ ๊ฐ๊ฐ ๋“ค์–ด๊ฐ€์„œ returnํ•œ result ๊ฐ’์ด ab, ca์™€ ๊ฐ™์ด ์ถœ๋ ฅ๋œ๋‹ค.

๊ทธ๋Ÿผ cnt ํ•จ์ˆ˜์— p1์„ ๋จผ์ € ๋„ฃ์–ด์„œ ํ™•์ธํ•ด๋ณธ๋‹ค.

result๊ฐ€ ์„ ์–ธ๋˜์–ด์žˆ๊ณ  ๋ฐ˜๋ณต๋ฌธ์€ str์˜ ๋ฌธ์ž์—ด ๊ธธ์ด๋งŒํผ ๋ฐ˜๋ณตํ•œ๋‹ค. str์€ ์ด 11์ž์ด๋‹ค.

sub๋ฅผ ๋ณด๋ฉด str์ด i๋ถ€ํ„ฐ i+len(p) ๊นŒ์ง€์˜ ๋ฌธ์ž๊ฐ€ ์„ ์–ธ๋˜๋Š”๋ฐ, len(p1)์€ 2์ด๊ธฐ ๋•Œ๋ฌธ์— [i : i+2]๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

0 ๋ถ€ํ„ฐ ๋„ฃ์—ˆ์„ ๋•Œ str[0 : 2] = "ab" ์ด๋ ‡๊ฒŒ ๋œ๋‹ค.

์—ฌ๊ธฐ์„œ sub == p1 ์ผ๋•Œ๋งˆ๋‹ค result ๊ฐ’์ด ์ถ”๊ฐ€๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐ๋ก ์ ์œผ๋กœ ์ด ๋ฌธ์ œ๋Š” str์˜ ์—ฐ์† ๋ฌธ์ž์—ด 2๊ฐœ๊ฐ€ p1, p2์™€ ๊ฐ™์€ ๊ฒฝ์šฐ๊ฐ€ ๋ช‡๋ฒˆ์ธ์ง€ ์„ธ๋ฉด ๋œ๋‹ค.

str์—์„œ ca๋Š” 3๋ฒˆ, ab๋„ 3๋ฒˆ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์ข… ์ถœ๋ ฅ๊ฐ’์ด ab3 ca3์ด ๋œ๋‹ค.