본문 바로가기

파이썬37

[Python] 문자열을 일정 길이로 자르기 seq='f09f9989x'; length=2; [seq[i:i+length] for i in range(0, len(seq), length)] # 결과 # ['f0', '9f', '99', '89', 'x'] seq='f09f9989x'; length=2; [''.join(x) for x in zip(*[list(seq[z::length]) for z in range(length)])] # 결과 #['f0', '9f', '99', '89'] seq='f09f9989x'; length=2; map(''.join, zip(*[iter(seq)]*length)) # 결과 # ['f0', '9f', '99', '89'] 참고 사이트 Split String into n-size pieces « Python re.. 2021. 3. 14.
[Python] 문자열 압축 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 풀이 우선 문자열이 한개만 올 수 있으므로 해당 경우를 처리했습니다. 다음으로, 문자열을 1개부터 최대로 자를 수 있는 개수인 len(s) / 2 만큼까지 각각 일정하게 잘라 리스트에 저장했습니다. 그 다음 반복문을 통해 리스트의 인덱스를 사용해서 이전의 값과 같다면 압축을 할 수 있으므로 cnt를 +1 시켜주었습니다. 그리고 만약 다를경우 cnt가 1이라면 이전의 자른 문자가 한 번만 나온것이므로 그대로 압축문자열에 저장해주고 1보다 클 경우에는 압축이.. 2021. 3. 14.
[Python] 다트 게임 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 풀이 문자열을 파싱하여 문제에 주어진 조건에 맞게 처리하였습니다. 이때, 숫자는 두자리 이상의 수가 올 수 있기때문에 주의해야합니다. 마지막으로 처리된 수를 list 자료형인 score에 저장하여 score 값을 모두 더해주어 해결했습니다. 코드 def solution(dartResult): answer = 0 score = [] num = "" for c in dartResult: if c.isdigit(): num += c elif c == '*': score[-1] *= 2 if len(score) >= 2: score[-2] *= 2 elif c == '#': score[-1] *= -1 else: score.append(in.. 2021. 3. 7.
[Python] count() count()를 사용하여 list, 문자열과 같은 자료형에서 찾고자하는 값이 몇 개가 포함되어있는지 확인할 수 있습니다. a = [2, 1, 2, 6, 2, 4, 3, 3] for i in range(7): cnt = a.count(i) print(str(i) + '의 갯수는 ' + str(cnt) + '개 입니다.') ''' 0의 갯수는 0개 입니다. 1의 갯수는 1개 입니다. 2의 갯수는 3개 입니다. 3의 갯수는 2개 입니다. 4의 갯수는 1개 입니다. 5의 갯수는 0개 입니다. ''' temp = '122333444455555' for i in range(6): cnt = temp.count(str(i)) print(str(i) + '의 갯수는 ' + str(cnt) + '개 입니다.') ''' .. 2021. 3. 6.
[Python] dict 정렬 answer = [] rate = {} ''' rate에 dict에 맞는 값 추가 ''' answer = sorted(rate, key=lambda x: rate[x], reverse=True) # answer에는 rate의 정렬된 순서에 맞게 key값만 들어간다 위의 코드는 sorted를 이용 rate의 value 값으로 내림차순 정렬하는 코드입니다. 마지막에 list 자료형인 answer에 저장하게하여 rate의 key 값만 저장하게합니다. 오름차순을 하고자하면 reverse=True를 없에주면 됩니다. 2021. 3. 6.
[Python] 실패율 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 풀이 우선 입력받은 stages를 오름차순 정렬하여 각 스테이지(i)마다 클리어하지 못한 사람을 구해서 실패율을 구했습니다. 그 다음으로 클리어하지 못한 사람의 수를 총 플레이어의 수에서 빼어 다음 스테이지에서의 실패율을 구하게했습니다. 마지막으로 sorted를 사용하여 실패율과 해당 스테이지가 저장된 dict 자료형인 rate를 문제에서 요구하는대로 내림차순으로 정렬하고 list 자료형인 answer에 저장하게하여 rate의 key값으로 저장되있던 스테이지 번.. 2021. 3. 6.