이 영역을 누르면 첫 페이지로 이동
자라자 블로그의 첫 페이지로 이동

자라자

페이지 맨 위로 올라가기

백준 1039번 교환 파이썬 풀이

자라자

백준 1039번 교환 파이썬 풀이

  • 2022.06.08 01:16
  • PS/BOJ
  1. K번 할 수 없는 경우는?
    1. M이 1이하인 경우
    2. M에서 0인 자리수를 전부 뺐을 떄 1이하
      1. 라고 생각했는데, 사실 9000이면 0끼리 교환하면 되니까 틀린 조건. 2자리일 때 일의자리가 0인 경우이다.
  2. BFS와 DFS의 핵심은 수형도에 있다.

정답풀이

#2022.06.08.00:01 - 00:43
from collections import deque
import sys
input = sys.stdin.readline
def main ():
n,k = map(int,input().split())
m = len(str(n))
if m == 1 :
print(-1)
return
if m==2 and n%10 ==0:
print(-1)
return
def swap(cur, i,j):
# 12345 1,3 -> 14325
curStr = str(cur)
return int(curStr[:i]+curStr[j]+curStr[i+1:j]+curStr[i]+curStr[j+1:])
# BFS
cur_k = 0
q= deque()
q.append(n)
while(q and cur_k<k):
v= set()
for _ in range(len(q)):
cur = q.popleft()
# print('cur:',cur)
for i in range(len(str(cur))):
for j in range(i+1,len(str(cur))):
res = swap(cur,i,j)
if res not in v:
v.add(res)
q.append(res)
# print(cur_k, v,q)
if cur_k == k-1:
print(max(v))
cur_k+=1
return
main()

'PS > BOJ' 카테고리의 다른 글

백준 1068 트리 파이썬 풀이  (0) 2022.06.23
백준 1240번 노드 사이의 거리 파이썬 풀이  (0) 2022.06.22
백준 1713 후보 추천하기  (0) 2022.05.26
백준 1062 가르침 파이썬 풀이  (0) 2022.05.26
백준 1759 암호만들기 C++  (0) 2022.02.18

댓글

댓글을 사용할 수 없습니다.

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • 백준 1068 트리 파이썬 풀이

    백준 1068 트리 파이썬 풀이

    2022.06.23
  • 백준 1240번 노드 사이의 거리 파이썬 풀이

    백준 1240번 노드 사이의 거리 파이썬 풀이

    2022.06.22
  • 백준 1713 후보 추천하기

    백준 1713 후보 추천하기

    2022.05.26
  • 백준 1062 가르침 파이썬 풀이

    백준 1062 가르침 파이썬 풀이

    2022.05.26
다른 글 더 둘러보기

정보

자라자 블로그의 첫 페이지로 이동

자라자

  • 자라자의 첫 페이지로 이동

검색

메뉴

  • 🏠 HOME
  • 💡 ABOUT
  • 💻 GITHUB

카테고리

  • 분류 전체보기 (91)
    • Tech Note (3)
    • Dev Log (11)
    • Study Log (11)
    • Settings (3)
    • PS (53)
      • Programmers (21)
      • BOJ (32)
    • Diary (10)

인기 글

공지사항

태그

  • 리액트
  • 공식문서읽기
  • ㅣ

정보

자라자의 자라자

자라자

자라자

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © 자라자. Designed by Fraccino.

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.