728x90
소드인사이트 문제를 기존에 풀었었는데
파이썬 공부 차원에서 풀어봤다.
결론적으로는 정렬을 하면 되는 문제!
우선 내가 C로 풀은 내용을 보면
#include<stdio.h>
#include<string.h>
void Sortin(char *a, int b)
{
int te;
int max = 0;
int index;
for(int i = 0; i < b; i++)
{
if(b < 0 || a < 0) return;
max = 0;
index = i;
for(int j = i; j < b; j++)
{
if(max < a[j])
{
max = a[j];
index = j;
}
}
te = a[i];
a[i] = a[index];
a[index] = te;
}
}
int main()
{
char temp[101];
gets(temp);
int num = strlen(temp);
Sortin(temp, num);
printf("%s", temp);
}
C로 풀었을 때는 함수를 생성해서
호출하는 방식으로 풀었고 추가적으로 tmp를 구현해서
정렬연산을 진행했다.
사실 이렇게 푸는것도 괜찮겠지만......
곰곰히 생각해봤더니 Sort() 매소드를 두고 이렇게 풀었던 내 자신이 한심쓰....
파이썬으로 구현한 코드는!
n = input()
list = []
for i in range(len(n)):
list.append(n[i])
list.sort(reverse=True)
for i in range(len(n)):
print(list[i], end = '')
완전 간편!
말 그대로 파이썬에서는 sort(), sorted() 메소드를 지원하기 때문에
이렇게 사용해주면 쉽게 정렬이 가능하다.
실제로 정렬 알고리즘은 다양하게 많고 상황에 따라 성능차이가 심하다.
이런 경우에는 매소드를 사용하는것이 간편하고 코드수를 줄일 수 있다는 장점!
2년전에 했던 C 코드에서 파이썬 코드로 간편하게 성공!
다음에는 더 알찬 포스팅으로 찾아오겠습니당~
728x90
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 1922번 네트워크 연결 문제 풀기(Java) - 세무민의 코딩일기 (0) | 2021.09.22 |
---|---|
[백준] 1516번 게임 개발 문제 풀이(Java) - 세무민의 코딩일기 (0) | 2021.09.15 |
[백준] 2252번 줄 세우기 문제 풀이(Java) - 세무민의 코딩일기 (0) | 2021.09.14 |
세무민의 코딩일기 : 백준 알고리즘 나이순 정렬 문제 풀기 [10814번] (0) | 2021.02.03 |
세무민의 코딩일기 : 백준 알고리즘 10870번 : 피보나치 수 5 풀기 (0) | 2021.01.26 |