doctscoder
하고싶은일있는개발
doctscoder
전체 방문자
오늘
어제
  • 분류 전체보기 (305)
    • 코테용 문제풀이 (304)
      • 백준 (272)
      • 알고스팟 (32)
    • 공부계획 (1)

최근 글

hELLO · Designed By 정상우.
doctscoder

하고싶은일있는개발

코테용 문제풀이/백준

다음 순열 풀이

2023. 1. 25. 10:28

문제 링크: https://www.acmicpc.net/problem/10972

백준  알고리즘 기초 2/2 520에서 1번째 - 10972번 다음 순열을 풀어보았다.

 

풀이: next permutation을 구하는 문제이다. 

파이썬은 https://dallae7.tistory.com/155 를 참고했다.

 

C++

 

Python

N=int(input())
arr=list(map(int, input().split()))

def next_permutation():
    i=N-1
    while(i>0 and arr[i-1]>=arr[i]):
        i-=1
    if i==0:
        return False
    j=N-1
    while(arr[i-1]>=arr[j]):
        j-=1
    arr[i-1], arr[j] = arr[j], arr[i-1]
    k=N-1
    while(i<k):
        arr[i], arr[k] = arr[k], arr[i]
        i+=1
        k-=1
    return True

if not next_permutation():
    print(-1)
else:
    for i in range(N):
        print(arr[i], end=" ")

Java

 

저작자표시 비영리 변경금지 (새창열림)

'코테용 문제풀이 > 백준' 카테고리의 다른 글

모든 순열 풀이  (0) 2023.01.25
이전 순열 풀이  (0) 2023.01.25
N과 M (12) 풀이  (0) 2023.01.25
N과 M (11) 풀이  (0) 2023.01.24
N과 M (10) 풀이  (0) 2023.01.24
    '코테용 문제풀이/백준' 카테고리의 다른 글
    • 모든 순열 풀이
    • 이전 순열 풀이
    • N과 M (12) 풀이
    • N과 M (11) 풀이
    doctscoder
    doctscoder
    코딩 관련 공부를 적어놓는 블로그

    티스토리툴바