https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5PrmyKAWEDFAUq&categoryId=AV5PrmyKAWEDFAUq&categoryType=CODE&problemTitle=&orderBy=PASS_RATE&selectCodeLang=ALL&select-1=2&pageSize=10&pageIndex=1

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

 

 

# 문제 정리

주어진 n 길이의 숫자열을 오름차순으로 정렬하여 출력

n은 5이상 50이하이다

가장 첫 줄에는 테스트케이스의 개수 t가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.

각 테스트 케이스의 첫 번째 줄에 n이 주어지고, 그 다음 줄에 n개의 숫자가 주어진다.

출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다. 

 

 

 

 


# 문제 해결을 위한 개념

 

< arr >

배열 array

 

 

< sorted >

list.sort() 와 sorted(list)의 차이점

list.sort()는 본체의 리스트를 정렬해서 변환하는 것이다

sorted(list)는 본체 리스트는 내버려두고, 정렬한 새로운 리스트를 반환하는 것이다.

 

 

< 포맷팅 방법 >

 

1. % 포맷팅

% + '자료형 종류' % 값

변수 타입에 따라서 %s, %d, %f 구분해서 써줘야 한다. 

주의해야할 점은 명시형 자료형마다 입력값으로 사용할 수 있는 자료형이 정해져있다는 점이다.

정수 %d
실수 %f
문자열 %s
8진수 %o
16진수 %x
% %%

 

person1 = "철수"
person2 = "영희"
print( "%s는 %s를 좋아한데요!"% (person1, person2))

 

 

2. format 함수

{}를 이용한 포맷팅

변수 타입 관계 없이 {}해주면 된다. 

person1 = "철수"
person2 = "영희"
print( "{}는 {}를 좋아한데요!".format(person1, person2))

{}로 위치만 잡아주고, 각각의 {}에 어떤 값이 들어갈지는 맨 뒤에 순서대로 적어준다.

 

 

3. f-string 포맷팅

직관적으로 알 수 있다

person1 = "철수"
person2 = "영희"
print( f"{person1}는 {person2}를 좋아한데요!")

문자열 가장 앞에 f를 붙여주고 시작한다.

바로바로 {}를 쓰고 그 안에 어떤 값을 이 자리에 표현할지 적어준다.

포맷팅하는 값이 많아져도 햇갈리지 않고 작성할 수 있다는 장점이 있다. 

 

 

< join 함수 >

함수의 모양은 다음과 같다.

1.  .join(list)

매개변수로 들어온 ['a', 'b', 'c'] 이런 식의 리스트를 'abc'의 문자열로 합쳐서 반환해주는 함수

 

2.  '구분자'.join(list)

리스트의 값과 값 사이에 '구분자'를 넣어서 하나의 문자열로 합쳐준다

예를 들어  '_'.join(  ['a', 'b', 'c'] ) 라 하면 'a_b_c'와 같은 형태로 문자열을 만들어서 반환해준다.

 

 

< str >

str(문자열)

내장 함수 str()은 정수나 실수를 문자열 형태로 바꿔주는 함수 

 

 

 

# 정답 코드

t = int(input())
for test_case in range (1, t+1):
    n = int(input())
    arr = sorted(list(map(int, input().split())))
    print(f"#{test_case} {' ' .join(map(str, arr))}")

+ Recent posts