it 취업을 위한 알고리즘 문제 풀이 입문 (With C/C++) 32. 선택정렬

2024. 7. 8. 16:47·알고리즘&자료구조 공부/it 취업을 위한 알고리즘 문제풀이 입문 강의

[기억할 내용들]

  1. 오름차순 선택 정렬을 구현할 거라면 이중 포문을 돌면서 정렬되지 않은 부분 중 가장 작은 값을 찾고, 그 값을 정렬되지 않은 부분의 가장 앞 부분의 값과 변경해주면 된다.
  2. 내림차순 선택 정렬을 구현할 거라면 가장 큰 값을 찾아서 변경해주면 된다.

 

[나의 코드]

#include <iostream>
#include <stdio.h>
#include <string>
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
	ios_base::sync_with_stdio(false);

	int n;
	cin >> n;
	vector<int> table(n);

	for (int i = 0; i < n; i++)
		cin >> table[i];

	for (int i = 0; i < table.size() - 1; i++) {
		int min = i;

		for (int j = i + 1; j < table.size(); j++) {
			if (table[min] > table[j]) min = j;
		}

		int tmp = table[i];
		table[i] = table[min];
		table[min] = tmp;
	}

	for (int i = 0; i < table.size(); i++)
		cout << table[i] << " ";
	cout << "\n";

	return 0;
}

 

 

[강의 코드]

#include <iostream>
#include <stdio.h>
#include <string>
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
	int a[100], n, idx, i, j, tmp;
	scanf_s("%d", &n);
	for (i = 0; i < n; i++) {
		scanf_s("%d", &a[i]);
	}

	for (i = 0; i < n-1; i++) {
		idx = i;

		for (j = i + 1; j < n; j++) {
			if (a[j] < a[idx]) idx = j;
		}
		tmp = a[i];
		a[i] = a[idx];
		a[idx] = tmp;
	}
	for (i = 0; i < n; i++)
		printf("%d ", a[i]);
	printf("\n");

	return 0;
}

 

 

[의견]

자료구조 때 배웠던 내용이라 문제 풀이에 문제가 없었다. 아직 잘 기억하고 있는 것 같아서 기분이 좋았다. 앞으로도 잊지 말고 계속해서 공부해야겠다. 파이팅!!!! ^_^

 

 


 

[참고자료]

SelectionSort (선택 정렬) (tistory.com)

 

SelectionSort (선택 정렬)

선택 정렬이란, 배열에서 가장 작은 값을 찾아서 앞으로 가져오는 방식을 반복하는 정렬 방법입니다. 글로만 보면 이해가 안될수도 있으니 그림으로 살펴봅시다.  이렇게 가장 작은 수를 찾아

sol248.tistory.com

 

'알고리즘&자료구조 공부/it 취업을 위한 알고리즘 문제풀이 입문 강의' 카테고리의 다른 글
  • it 취업을 위한 알고리즘 문제 풀이 입문 (With C/C++) 34. 버블정렬
  • it 취업을 위한 알고리즘 문제 풀이 입문 (With C/C++) 33. 3등의 성적은?
  • it 취업을 위한 알고리즘 문제 풀이 입문 (With C/C++) 31. 탄화수소 질량
  • [집중 문제] it 취업을 위한 알고리즘 문제 풀이 입문 (With C/C++) 30. 3의 개수는?(large)
dubu0721
dubu0721
dubu0721 님의 블로그 입니다.
  • dubu0721
    dubu0721 님의 블로그
    dubu0721
  • 전체
    오늘
    어제
    • 분류 전체보기 (343)
      • 프로그래밍언어론 정리 (5)
      • 컴퓨터네트워크 정리 (5)
      • 알고리즘&자료구조 공부 (64)
        • it 취업을 위한 알고리즘 문제풀이 입문 강의 (60)
        • 학교 알고리즘 수업 (3)
        • 실전프로젝트I (0)
      • 백준 문제 (196)
        • 이분탐색 (7)
        • 투포인트 (10)
        • 그래프 (7)
        • 그리디 (24)
        • DP (25)
        • BFS (18)
        • MST (7)
        • KMP (4)
        • Dijkstra (3)
        • Disjoints Set (4)
        • Bellman-Ford (2)
        • 시뮬레이션 (3)
        • 백트래킹 (15)
        • 위상정렬 (5)
        • 자료구조 (25)
        • 기하학 (1)
        • 정렬 (11)
        • 구현 (8)
        • 재귀 (8)
        • 수학 (8)
      • 유니티 공부 (11)
        • 레트로의 유니티 게임 프로그래밍 에센스 (11)
        • 유니티 스터디 자료 (0)
        • C# 공부 (0)
      • 유니티 프로젝트 (48)
        • 케이크게임 (13)
        • 점토게임 (35)
      • 언리얼 공부 (10)
        • 이득우의 언리얼 프로그래밍 (10)
      • 진로 (1)
      • 논문 읽기 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    투포인터
    재귀
    백준
    우선순위큐
    백트래킹
    언리얼
    맵
    해시
    오블완
    큐
    바킹독
    이분탐색
    정렬
    레트로의 유니티 프로그래밍
    유니티 공부 정리
    그래프
    dp
    그리디
    이득우
    C#
    골드메탈
    유니티 프로젝트
    자료구조
    시뮬레이션
    수학
    유니티
    스택
    티스토리챌린지
    BFS
    이벤트 트리거
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dubu0721
it 취업을 위한 알고리즘 문제 풀이 입문 (With C/C++) 32. 선택정렬
상단으로

티스토리툴바