새소식

⌨️ Algorithms/백준

[Python] 백준 11536번_줄 세우기

2023. 4. 27. 22:16

  • -

https://www.acmicpc.net/problem/11536

 

11536번: 줄 세우기

이름이 증가하는 순으로 나타나면 INCREASING, 감소하는 순이면 DECREASING을 한 줄에 출력한다. 만약 위의 두 경우가 아니라면 NEITHER를 출력한다.

www.acmicpc.net

 

  • 악독한 코치 주혁은 선수들을 이름 순으로 세우는 것을 좋아함
  • 더 악독한 것은 어떤 순서로 서야할지도 알려주지 않았음
  • 선수들의 이름이 주어질 때 어떤 순서로 이루어져있는지 확인하기
  • 입력
    • 첫째 줄에 N개의 이름이 주어짐 (2 ≤ N ≤ 20)
    • 다음 N개의 줄에는 각 선수들의 이름이 주어짐
    • 이름은 2 이상 12 이하의 대문자로만 이루어져있음
    • 선수의 이름은 중복되지 않음
  • 출력
    • 이름이 증가하는 순으로 나타나면 INCREASING, 감소하는 순이면 DECREASING을 한 줄에 출력
    • 만약 위의 두 경우가 아니라면 NEITHER를 출력
  • 시간 제한: 1초
  • 메모리 제한: 256 MB

 

"""
입출력 예시)

(예제 입력 1) 
5
JOE
BOB
ANDY
AL
ADAM
        -> DECREASING

(예제 입력 2) 
11
HOPE
ALI
BECKY
JULIE
MEGHAN
LAUREN
MORGAN
CARLI
MEGAN
ALEX
TOBIN
        -> NEITHER

(예제 입력 3) 
4
GEORGE
JOHN
PAUL
RINGO
        -> INCREASING
"""

 

 

## 의사코드 ##

# 원본 리스트와 정렬된 새로운 리스트를 비교해야 하기 때문에 sorted() 사용

# 증가하는 순인지
# if 리스트 == sorted(names)

# 감소하는 순인지
# elif 리스트 == sorted(names, reverse=True)

 

 

 

 

n = int(input())
names = []
for _ in range(n):
    names.append(input())

if names == sorted(names):
    print("INCREASING")
elif names == sorted(names, reverse=True):
    print("DECREASING")
else:
    print("NEITHER")

 

 

-> 원본 리스트와 정렬된 새로운 리스트를 비교해야 하기 때문에 sort()가 아닌 sorted() 사용

 

 

  • 리스트.sort()
    • 원본 리스트의 순서 자체를 변경 => 원본 리스트에 영향 O
    • 반환 값: None
    • 새로운 복사본을 만들지 않아 sorted()보다 빠름
  • sorted(iterable)
    • 반환 값: 정렬된 새로운 리스트
    • 원본 리스트에 영향 X
    • 모든 iterable에 사용 가능 
      • list, tuple, dict, str, ... 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다!