본문 바로가기
  • 노션에서 삽질한 내용을 정리하는 블로그
자기발전소/# @lgorithm

백준 2752번 / C언어

by iamlucia 2020. 5. 6.

 

 

세수를 하다가 정렬을 하고 싶어진 동근이의 문제 "세 수 정렬"

선택정렬방법으로 풀기! 나는 아직 정렬 초보니까! 

#include  <stdio.h>

int main (void){

	int i, j, min, index, temp;  //정렬을 할 때 값을 바꾸기 위해 잠시 값을 맡겨둘 수 있는 공간 TEMP이 중요해!
	int array[3];   //세 수 정렬이니까 배열의 크기는 정해져 있지, 만약에 N개의 수라고 한다면 int array[n+1]하기 0~n까지 담는?

 	for (i = 0 ; i < 3; i++) //3번 반복하세요 무엇을? 
 	{ scanf("%d", &array[i]); } //숫자를 받아서(scanf), array[i] 공간에 (&) 저장하는 것을 
  
 	for(i=0; i < 3; i++ ) //3번 반복하세요 무엇을? 
  	{ min = 1000001; //사용자가 적을 수는 범위 고려하여 min 초기값은 그보다 1크게
  		for(j=i; j < 3; j++) //j=i 설정, 내가 계속 까묵는 부분! 
		{ 
  		if(array[j] < min) //최솟값과 비교해서 찐최소를 만났다면
  			{ min = array[j]; //찐최소의 값을 min에 저장하고,
  	 		index = j;  // 찐최소의 주소(인덱스)를 index에 지정해!
 			} 
 		}  //아직 대왕포문?안끝났어 이것도 포문에 들어가있는 문! 중요중요
  	temp = array[i];  // 현재 for문의 i값은 temp에 넣어두고, 
	array[i] = array [index]; //찐최소가 있는 주소에 있는 값을 i에 담아,
	array[index] = temp;  //그리고 temp에 넣어둔 그 값을 텅비어버린 찐최소의 구주소에 담아 
	} 
  
 	for (i=0; i < 3; i++){ // 출력하자
  	printf("%d ", array[i]);} //이렇게 이중for문으로 정렬된 배열들을~
}

 

'자기발전소 > # @lgorithm' 카테고리의 다른 글

Hash Map  (0) 2020.11.12
Stack & Queue  (0) 2020.11.11
Linked List  (0) 2020.11.11