🍧 μ½”λ”©ν…ŒμŠ€νŠΈ

[μΈν”„λŸ° C++] 35. Special Sort(ꡬ글 인터뷰)

peewoong 2024. 5. 2. 15:40

🍧 문제

N개의 μ •μˆ˜κ°€ μž…λ ₯되면 당신은 μž…λ ₯된 값을 μ •λ ¬ν•΄μ•Ό ν•œλ‹€.

음의 μ •μˆ˜λŠ” μ•žμͺ½μ—, μ–‘μ˜ μ •μˆ˜λŠ” λ’·μͺ½μ— μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. λ˜ν•œ μ–‘μ˜ μ •μˆ˜μ™€ 음의 μ •μˆ˜μ˜  μˆœμ„œμ—λŠ” 변함이 μ—†μ–΄μ•Ό ν•œλ‹€.

 

🍧 μž…λ ₯

첫 번째 쀄에 μ •μˆ˜ N이 μ£Όμ–΄μ§€κ³ , κ·Έ λ‹€μŒ 쀄뢀터 음수λ₯Ό ν¬ν•¨ν•œ μ •μˆ˜κ°€ μ£Όμ–΄μ§„λ‹€. 숫자 0은 μž…λ ₯λ˜μ§€ μ•ŠλŠ”λ‹€.

 

🍧 좜λ ₯

μ •λ ¬λœ κ²°κ³Όλ₯Ό 좜λ ₯ν•œλ‹€.

🍧 1트 (κ°•μ˜ 풀이)

버블 μ •λ ¬ ν™œμš©

μ–‘μˆ˜μ™€ μŒμˆ˜κ°€ λ§Œλ‚˜λ©΄ μœ„μΉ˜λ₯Ό λ³€κ²½ν•΄μ€€λ‹€. μ–‘μˆ˜κ°€ μ•žμ— μžˆλŠ” 경우

#include <iostream>
#include <vector>
#include<algorithm>
using namespace std;

int main(void){
	freopen("input.txt", "rt", stdin);
	
	int n, temp;
	int a[101];
	cin >> n;
	for(int i = 0; i < n; ++i){
		cin >> a[i];	
	}
	
	for(int i = 0; i < n-1; ++i){
		for(int j = 0; j < n-i-1; ++j){
			if(a[j] > 0 && a[j+1] < 0){
				temp = a[j];
				a[j] = a[j+1];
				a[j+1] = temp;
			}
		}
	}
	
	for(int i = 0; i < n; ++i){
		cout << a[i] << ' ';
	}
	
	return 0;
}