관리 메뉴

솜씨좋은장씨

[BaekJoon] 2947번 : 나무 조각 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 2947번 : 나무 조각 (Python)

솜씨좋은장씨 2023. 1. 1. 13:01
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 나무 조각 입니다.

 

2947번: 나무 조각

첫째 줄에 조각에 쓰여 있는 수가 순서대로 주어진다. 숫자는 1보다 크거나 같고, 5보다 작거나 같으며, 중복되지 않는다. 처음 순서는 1, 2, 3, 4, 5가 아니다.

www.acmicpc.net

👨🏻‍💻 코드 ( Solution )

def piece_of_wood(piece_list):
    answer_list = []
    
    final_result = sorted(piece_list)
    
    copy_piece_list = [piece for piece in piece_list]
    
    is_break = False
    
    while True:
        for idx in range(len(piece_list) - 1):
            if copy_piece_list[idx] > copy_piece_list[idx+1]:
                copy_piece_list[idx], copy_piece_list[idx+1] = copy_piece_list[idx+1], copy_piece_list[idx]
                
                if piece_list != copy_piece_list:
                    answer_list.append(" ".join(list(map(str, copy_piece_list))))
                    
            if copy_piece_list == final_result:
                is_break = True
                
        if is_break:
            break
            
    return answer_list


def print_answer(answer_list):
    for answer in answer_list:
        print(answer)
        
        
if __name__ == "__main__":
    piece_list = list(map(int, input().split()))
    
    answer_list = piece_of_wood(
        piece_list=piece_list
    )
    
    print_answer(
        answer_list=answer_list
    )
 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments