코딩테스트 문제 37

[프로그래머스/Python] k의 개수

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120887 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr i부터 j까지의 수에서 k가 몇 번 나오는지 리턴 1. count() 사용 i부터 j까지 반복문을 돌면서 정수를 문자로 저장 count()로 갯수 세기 def solution(i, j, k): a = '' for s in range(i, j+1): a += str(s) answer = a.count(str(k)) return answer

[프로그래머스/Python] 369 게임

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120891 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 3, 6, 9일 때 박수를 친다 박수 치는 횟수 리턴 1. count() 사용 정수형인 order을 문자열로 바꾼다 count()로 3, 6, 9 갯수 세기 def solution(order): order = str(order) answer = order.count("3") + order.count("6") + order.count("9") return answer 2. map(lambda..

[프로그래머스/Python] 올바른 괄호

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 리스트로 스택을 만들어서 사용 스택: 나중에 들어온 것이 먼저 나간다 문자가 '('면 리스트에 추가 문자가 ')'면 리스트의 맨 뒤 삭제 반복문 돌면서 현재 문자가 ')'인데 리스트의 길이가 0이면 -> ')'가 '(' 없이 사용되는 것이므로 False 리턴 반복문 다 돌았을 때 리스트의 길이가 0이라면 -> 올바른 괄호 사용이므로 True 리턴 리스트의 길이가 1이상이라면 -> '('..

[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)#문자를 아스키..