코딩테스트 문제/Hackerrank

[HackerRanck] Grid Challenge

왕초보코딩러 2023. 5. 15. 23:57
728x90

내용

입력된 grid_item을 각각 grid 리스트에 넣어서 각 행을 오름차순으로 정렬.

grid의 열을 비교했을 때 오름차순으로 되어 있으면 YES를 리턴, 아니면 NO를 리턴

 

입력값: t(시험할 테스트 수), n(넣을 행), grid_item(n개의 문자)

알고리즘: grid의 각 행을 오름차순으로 정렬(리스트로 바꿔서 sort() 사용)

grid의 열이 오름차순인지 확인. 아니면 NO 리턴, 맞으면 YES 리턴

 

def gridChallenge(grid):
    n=len(grid)	#행 수
    arr=[]
    for i in range(n):
        a=[]
        for j in range (len(grid[0])):	#grid의 열 수 만큼 반복
            a.append(grid[i][j])		
        a.sort()	#a 오름차순 정렬
        arr.append(a)    
            
    for j in range(len(arr[0])):	#arr의 열 수 만큼 반복
        for i in range(n-1):
            if (arr[i][j]>arr[i+1][j]):	#아래의 열보다 위의 열이 크면(오름차순 안됨)
                return 'NO'
    return 'YES'

main 함수는 HackerRank와 똑같습니다.

 

참고자료

길이 반환 함수: len()

https://www.codingfactory.net/12872

 

Python / len() / 문자열의 길이 반환하는 함수

len()은 문자열의 길이 반환하는 함수이다. 간단한 예는 다음과 같다. len( 'abc' ) # 3 반환 정수나 실수 등은 문자열이 아니므로 에러가 난다. 문자열로 변환한 후 센다. len( str( 1234 ) ) # 4 반환 한글

www.codingfactory.net

리스트 오름차순 정렬: list.sort()

https://blockdmask.tistory.com/564

 

[python] 파이썬 sort 리스트 정렬 (오름차순, 내림차순)

안녕하세요. BlockDMask입니다. 오늘은 리스트 본체를 정렬하는 sort 함수에 대해서 이야기해볼까 합니다. 파이썬 sort 하면서 오름차순 혹은 내림차순으로 정렬하는 것도 설명드리겠습니다. 파이썬

blockdmask.tistory.com

 

'코딩테스트 문제 > Hackerrank' 카테고리의 다른 글

[HackerRank] New Year Chaos  (0) 2023.05.27
[HackerRank] Recursive Digit Sum  (0) 2023.05.16
[HackerRank] Caesar Cipher  (0) 2023.05.15