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
  • 전체
    오늘
    어제
    • 분류 전체보기 (352) N
      • 프로그래밍언어론 정리 (5)
      • 컴퓨터네트워크 정리 (5)
      • 알고리즘&자료구조 공부 (64)
        • it 취업을 위한 알고리즘 문제풀이 입문 강의 (60)
        • 학교 알고리즘 수업 (3)
        • 실전프로젝트I (0)
      • 백준 문제 (204)
        • 이분탐색 (7)
        • 투포인트 (10)
        • 그래프 (11)
        • 그리디 (24)
        • DP (25)
        • BFS (21)
        • MST (7)
        • KMP (4)
        • Dijkstra (3)
        • Disjoints Set (4)
        • Bellman-Ford (2)
        • 시뮬레이션 (3)
        • 백트래킹 (15)
        • 위상정렬 (5)
        • 자료구조 (25)
        • 기하학 (1)
        • 정렬 (11)
        • 구현 (8)
        • 재귀 (8)
        • 수학 (8)
        • 트리 (1)
      • 유니티 공부 (11)
        • 레트로의 유니티 게임 프로그래밍 에센스 (11)
        • 유니티 스터디 자료 (0)
        • C# 공부 (0)
      • 유니티 프로젝트 (48)
        • 케이크게임 (13)
        • 점토게임 (35)
      • 언리얼 공부 (10)
        • 이득우의 언리얼 프로그래밍 (10)
      • 진로 (1)
      • 논문 읽기 (2) N
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바