์•Œ๊ณ ๋ฆฌ์ฆ˜

์•Œ๊ณ ๋ฆฌ์ฆ˜ [Algorithm] - ๊ธฐ์ดˆ ์ •๋ ฌ๋ฌธ์ œ ํ’€์–ด๋ณด๊ธฐ (5) (C, Python)

Mainyoung 2022. 3. 9. 15:18
import sys
a = int(sys.stdin.readline())
data = [sys.stdin.readline().strip() for i in range(a)]
data_int = list(map(int,data))
data_int.sort()
for j in range(a):
    print(data_int[j])

๊ธฐ์ดˆ ์ •๋ ฌ ๋ฌธ์ œ ํ’€์–ด๋ณด๊ธฐ

์ง€๊ธˆ๊นŒ์ง€ ์„ ํƒ์ •๋ ฌ, ๋ฒ„๋ธ”์ •๋ ฌ, ์‚ฝ์ž…์ •๋ ฌ, ํ€ต์ •๋ ฌ์„ ๋ฐฐ์› ๋‹ค. ์ด๋ฅผ ํ™œ์šฉํ•ด์„œ ๋ฐฑ์ค€ ์˜จ๋ผ์ธ ์ €์ง€์˜ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด์ž!

 

 

1. ์„ธ ์ˆซ์ž ์ •๋ ฌ : https://www.acmicpc.net/problem/2752

 

2752๋ฒˆ: ์„ธ์ˆ˜์ •๋ ฌ

์ˆซ์ž ์„ธ ๊ฐœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆซ์ž๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ์ด ์ˆซ์ž๋Š” ๋ชจ๋‘ ๋‹ค๋ฅด๋‹ค.

www.acmicpc.net

C

#include <stdio.h>
int main(void){

	int array[3], i, j, temp, min, idx;
	for (i = 0; i < 3; i++) {
		scanf("%d", &array[i]);
	}

	for (i = 0; i < 3; i++) {
		min = array[i];
		idx = i;
		for (j = i; j < 3; j++) {
			if (min > array[j]) {
				min = array[j];
				idx = j;
			}
		}
		temp = array[i];
		array[i] = min;
		array[idx] = temp;

	}

	for (i = 0; i < 3; i++) {
		printf("%d ", array[i]);
	}
}

 

Python

a = list(map(int,input().split()))
a.sort()
print(f"{a[0]} {a[1]} {a[2]}")

 

 

์œ„์˜ ์ œ์ถœ์€ C์–ธ์–ด๋ฅผ ํ™œ์šฉํ•ด ๋ฌธ์ œ๋ฅผ ํ‘ผ ๊ฒƒ์ด๊ณ , ์•„๋ž˜๋Š” Python์„ ์ด์šฉํ•ด ๋ฌธ์ œ๋ฅผ ํ‘ผ ๊ฒƒ์ด๋‹ค. C์–ธ์–ด๋Š” ๋กœ์šฐ๋ ˆ๋ฒจ ์–ธ์–ด์ด๊ณ , Python์€ ํ•˜์ด๋ ˆ๋ฒจ ์–ธ์–ด๋‘๊ฐœ์˜ ์ˆ˜ํ–‰์‹œ๊ฐ„์ด ๋งŽ์ด ์ฐจ์ด๋‚˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค! ๊ฐ์ž์—๊ฒŒ ํ•„์š”ํ•œ ์–ธ์–ด๋ฅผ ์ ์ ˆํžˆ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค ํ•˜ํ•˜

 

 

2. ๋‹จ์ˆœ ์ •๋ ฌ : https://www.acmicpc.net/problem/2750

 

2750๋ฒˆ: ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ

์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ˆ˜ ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜๋Š” ์ ˆ๋Œ“๊ฐ’์ด 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋‹ค. ์ˆ˜๋Š” ์ค‘๋ณต๋˜์ง€ ์•Š๋Š”๋‹ค.

www.acmicpc.net

C

#include <stdio.h>

int main(void){
    	//์‹ค์Šต๋ฌธ์ œ 2
	int n, i, j, tmp,array[1001],idx,min;
	scanf("%d", &n);
	for (i = 0; i < n; i++) {
		scanf("%d", &array[i]);
	}

	for (i = 0; i < n; i++) {
		min = 1001;
		for (j = i; j < n; j++) {
			if (min > array[j]) {
				min = array[j];
				idx = j;
			}
		}

		tmp = array[i];
		array[i] = array[idx];
		array[idx] = tmp;
	}

	for (i = 0; i < n; i++) {
		printf("%d\n", array[i]);
	}
}

์ถœ๋ ฅํ•  ๋•Œ ์ค„๋ฐ”๊ฟˆ์„ ์ž˜ํ•˜์ž!

 

 

 

 

Python

import sys
n = int(sys.stdin.readline())
data = [sys.stdin.readline().strip() for i in range(n)]
data_int = list(map(int,data))
data_int.sort()
print(data)
print(data_int)

for i in range(n):
    print(data_int[i])

๋‚˜๋Š” Python์„ ์‚ฌ์šฉํ•  ๋•Œ Visual Studio๋ณด๋‹ค Colab์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, Colab์—์„œ๋Š” sys๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•œ ์ž…๋ ฅ์ด ๋˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๊ฒƒ๋„ ๋ชจ๋ฅด๊ณ  ๊ณ„์† ์‹œ๋„ํ•œ ๋ฐ”๋ณด... ์ฏง

  ์•„ ๊ทธ๋ฆฌ๊ณ  Python์„ ํ™œ์šฉํ•  ๊ฒฝ์šฐ ๋ฆฌ์ŠคํŠธ์˜ ์›์†Œ๋“ค์„ intํ˜•์œผ๋กœ ํ˜•๋ณ€ํ™˜ํ•ด์ค˜์•ผ ๋ฌธ์ œ๊ฐ€ ํ’€๋ฆฐ๋‹ค. ์ฃผ์˜ํ•˜์ž.

 

์ด๋ฒˆ์—๋„ ์‹คํ–‰์†๋„๊ฐ€ ๊ต‰์žฅํžˆ ๋งŽ์ด ์ฐจ์ด ๋‚˜๋Š”๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค !

 

 

3. ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ : https://www.acmicpc.net/problem/2751

 

2751๋ฒˆ: ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 2

์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜๋Š” ์ ˆ๋Œ“๊ฐ’์ด 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋‹ค. ์ˆ˜๋Š” ์ค‘๋ณต๋˜์ง€ ์•Š๋Š”๋‹ค.

www.acmicpc.net

์ด๋ฒˆ์—๋Š” ์œ„ ๋‘๋ฌธ์ œ์™€ ๋‹ค๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ์˜ ๊ฐฏ์ˆ˜๊ฐ€ 100๋งŒ๊ฐœ์ด๋‹ค. ํ˜„์žฌ๋Š” ์‹œ๊ฐ„์ œํ•œ์ด 2์ดˆ๊ฐ€ ๋˜์—ˆ์ง€๋งŒ ๊ณผ๊ฑฐ์—๋Š” 1์ดˆ์—ฌ์„œ ์•„๋งˆ O(N^2)๊ฐ€ ๊ฑธ๋ฆฌ๋Š” ์„ ํƒ์ •๋ ฌ, ๋ฒ„๋ธ”์ •๋ ฌ ๋“ฑ์œผ๋กœ๋Š” ๋ฌธ์ œ๊ฐ€ ์•ˆํ’€๋ฆฐ๋‹ค. ํ€ต์ •๋ ฌ์œผ๋กœ ํ’€์–ด๋ณด๊ณ  ์•ˆํ’€๋ฆฐ๋‹ค๋ฉด ๊ตฌ๊ธ€๋ง์„ ํ†ตํ•ด ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด์ž.

 

Python

import sys
a = int(sys.stdin.readline())
data = [sys.stdin.readline().strip() for i in range(a)]
data_int = list(map(int,data))
data_int.sort()
for j in range(a):
    print(data_int[j])

 

 

 

 


์ด ๊ธ€์€ ๋‚˜๋™๋นˆ๋‹˜์˜ ์‹ค์ „ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐ•์ขŒ (Algorithm Programming Tutorial)๋ฅผ ์ฐธ๊ณ ํ•ด ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.

https://www.youtube.com/watch?v=qQ5iLNjpxSk&list=PLRx0vPvlEmdDHxCvAQS1_6XV4deOwfVrz 

 

 

728x90