greenhelix
greenhelix
greenhelix
07-13 02:27
  • All (229)
    • Algorithm (118)
      • Algorithm (17)
      • Graph (0)
      • Core (6)
      • Python (18)
      • PythonSnippet (4)
      • Java (59)
      • Kotlin (14)
    • Project (0)
    • Study (8)
      • License (5)
      • EIP (3)
    • Programming (63)
      • Android (41)
      • Flutter (1)
      • Bugs Life (21)
      • Linux (0)
    • Tech (32)
      • Tech (17)
      • Drone (4)
      • Hacking (11)
    • Life (6)
      • INGRESS (1)
      • 심시티빌드잇 (0)
250x250

티스토리

hELLO · Designed By 정상우.
greenhelix

greenhelix

#07_Code Signal Arcade Python :: Simple Sort
Algorithm/Python

#07_Code Signal Arcade Python :: Simple Sort

2020. 6. 25. 20:23

코드시그널 아케이드 파이썬 07 번 풀이

인트로의 지옥을 벗어났구요.. 그래프를 풀려면, 자바같은 멍가튼 언어는 별로 더라구요.
자 파이썬을 시작해보겠습니다. 조금 배워보니 왜 파이썬 파이썬 하는지 알겠더군요.
약간 자바보다는 안정감이 떨어지지만(?) 개인적으로
유연하고 간편하다? 라는 느낌을 받았습니다. 자 시작해볼까요!!

문제 해설

이 문제는
주어진 array를 오름차순에 맞게 재배열해달라는 문제입니다.

해결

def simpleSort(arr):

    n = len(arr)

    for i in range(n):
        j = 0
        stop = n - i
        while j < stop - 1:
            if arr[j] > arr[j + 1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]
            j += 1
    return arr

일단 배열의 길이를 n으로 선언하고 단순히 for문으로 돌렸습니다.
여기서 특이하게도,
while문이 들어가서 배열의 각 요소들을 바꿔주는 문법이 신기합니다.

자바에서는 안되지만, 파이썬에서는

arr[j], arr[j+1] = arr[j+1], arr[j]

이러한 구현이 가능합니다. 말그대로 0번째, 1번째 요소를 1번째, 0번째 즉 앞뒤를 바꿔준다고 하는것입니다.
조건은 당연히 앞에가 뒤보다 큰경우, 작은 경우 이런식으로 주어졌겠지요.

좀 길게 풀이한 것 같지만 나름 신기했습니다.

sort()같은 함수를 사용할 수도 있지만, 이렇게 하면, 중복값도 생략안하고 다 순서대로 나오게 하는듯 합니다.
그런 배열에 대한 파이썬의 특이성을 보여준 문제라고 생각되네요.

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'Algorithm > Python' 카테고리의 다른 글

#08_Code Signal Arcade Python :: Base Conversion  (0) 2020.07.29
#06_Code Signal Arcade Python :: Modulus  (0) 2020.06.15
#05_Code Signal Arcade Python :: Count Bits  (0) 2020.06.11
    'Algorithm/Python' 카테고리의 다른 글
    • #09_Code Signal Arcade Python :: Mex Function
    • #08_Code Signal Arcade Python :: Base Conversion
    • #06_Code Signal Arcade Python :: Modulus
    • #05_Code Signal Arcade Python :: Count Bits
    greenhelix
    greenhelix
    개발에 관한 것들과 개인적인 것을 담는 블로그

    티스토리툴바