코딩테스트 문제/Hackerrank 4

[HackerRank] New Year Chaos

내용 바뀐 대기열을 보고 처음의 대기열과 비교해 최소 바뀐 횟수를 출력. 단 한 사람 당 2번만 바꿀 수 있고, 3번 이상 바꿀 시 Too chaotic을 출력 입력값: t(테스트 횟수), n(롤러코스터 대기자 수), q(바뀐 대기열) 알고리즘 1부터 시작해서 n까지 원래 지점에서 앞으로 몇 번 왔는지 세어 본다(index() 사용). 제자리에 있는 것은 넘어간다 ->Time limit exceeded 참고자료 리스트 삭제 관련 del list /리스트 전체 삭제 del list[인덱스 번호] list.remove(요소) /요소가 없으면 에러 del list[list.index(찾을 요소)] /요소 없으면 에러 list.append(요소), list,insert(인덱스넘버, 요소), list.extend..

[HackerRanck] Grid Challenge

내용 입력된 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..

[HackerRank] Caesar Cipher

Python 1 Week Preparation Kit-day3 입력값 : 글자 수(n), 글자(s), 추가할 아스키코드값(k) 문자를 10진수로 변환 후, n 동안 반복 k=26일 시 다시 자기 자신이 됨. k/26해서 나머지 값을 더하면 됨(k=k%26) 알파벳이면 +k해서 변환, 알파벳이 아닌 다른 문자면 그대로 쓰고 출력 대문자일 때, 소문자일 때, 그 외 다른 문자일 때 세 가지로 나눔 대문자일 때: 결과값이 90보다 크면 결과값-90을 64에 더함(i=i-26) 소문자일 때: 결과값이 122보다 크면 결과값-122를 96에 더함(i=i-26) def caesarCipher(s, k): k=k%26 new_s=''#새로운 변환 문자를 저장할 변수 for i in s: i=ord(i)#문자를 아스키..