목록알고리즘/프로그래머스 (12)
잘 정리해보자
(x,y), (x,y+1), (x+1,y), (x+1,y+1) 모두 다 같은 블럭인지 체크 (대문자로 변경해서 체크 -> 나중에 소문자로 변경해서) 같은 블럭인 경우, 그 자리 블록들을 소문자로 변경해서 사라질 블럭인것을 체크 모든 블럭 체크 후, 자신보다 아래 (y+1) 의 블럭이 소문자 또는 공백이면 데이터 교체 (교체 시, 공백으로 교체했음) 사라질 블럭이 없을때까지 반복 (블럭들이 전 후 같으면 반복종료) 사라진 블럭 개수 (공백) count 출력. python import copy def cntLower(arr) : cnt = 0 for k in arr : cnt += k.count('') return cnt def changeDown(m,n,arr) : for q in range(m) : fo..
case 1. import re def solution(dartResult): answer = 0 bonus = ['S','D','T']; calcArr = [] dart = re.findall('\d+[A-Z]\W?',dartResult) for i in range(len(dart)) : num = re.search('\d+',dart[i]).group() alph = re.search('\D',dart[i]).group() wild = re.search('\W',dart[i]) calcArr.append(int(num) ** (bonus.index(alph)+1)) if bool(wild) : g = wild.group() if g == '*' : if i == 0 : calcArr[i] *= 2 e..
프로그래머스 연습문제 Hash level1 - 완주하지 못한 선수 python #해시 - 완주하지 못한 선수 #case 1. 효율성out def solution(participant, completion): answer = '' for c in completion : participant[participant.index(c)] = '' answer = ''.join(participant) return answer #case 2. counter 이용 from collections import Counter def solution(participant, completion): answer = '' p = Counter(participant) c = Counter(completion) answer = list..
프로그래머스 연습문제 정렬 level1 - K번째 수 python #level 1 #정렬 - K번째 수 def solution(array, commands): answer = [] for arr in commands : i = arr[0]; j = arr[1]; k = arr[2] li = array[i-1:j] li.sort() answer.append(li[k-1]) return answer programmers.co.kr/learn/courses/30/lessons/42748