Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 개발공부
- leetcode
- [파이썬 실습] 심화 문제
- HTML
- 코딩부트캠프
- 자바스크립트 sort()
- 자바스크립트 reduce()
- 리트코드
- 날씨 웹 만들기
- 자바스크립트 날씨
- 엘리스 ai 트랙
- 자바스크립트
- 자바스크립트 split()
- 엘리스
- JavaScript
- RN 프로젝트
- [파이썬 실습] 기초 문제
- [AI 5기] 연습 문제집
- 자바스크립트 날씨 웹 만들기
- reactnativecli
- 프로그래머스
- 엘리스 AI 트랙 5기
- 코드스테이츠
- 개발일기
- 간단한 날씨 웹 만들기
- 프론트개발
- [파이썬 실습] 중급 문제
- 삼항연산자
- 프론트개발공부
- 부트캠프
Archives
- Today
- Total
개발조각
[파이썬 실습] 심화 문제_차이만 저장하기 본문
728x90
반응형
차이만 저장하기
영상이나 음악 같은 연속적인 데이터를 압축할 때, 같은 값이 연속으로 등장한다면 우리는 이 데이터를 효율적으로 압축할 수 있습니다.
이번에는 압축의 효율이 좋도록 전처리하는 프로그램을 만들려고 합니다.
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
위와 같은 데이터를 압축한다고 가정하겠습니다.
이 데이터는 값이 모두 다르지만 다음값=전값+1의 일정한 규칙이 존재하네요
그럼 표현방식을 아래처럼 1번째값, 2번째값- 1번째값, 3번째값-2번째값, ....이렇게 바꿔보겠습니다.
1,1,1,1,1,1,1,1,1,1
표현방식을 바꾸니 모두 1이 되었네요. 이러면 1,2,3,4 ... 10 이 아니라 1이 10개 이렇게 압축할 수 있겠네요.
이것을 지시사항을 보고 코드를 완성하세요.
지시사항
- 사용자로부터 숫자들을 입력받습니다.
1,2,3,5,6,8,9,7,5,6
- 이것을 정수 리스트로 변환합니다.
[1,2,3,5,6,8,9,7,5,6]
- 두번째 값부터 숫자들의 표현방식을 ({2번째}-{1번째}), ({3번째}-{2번째}),....({n번째}-{n-1번째}) 이렇게 바꿔봅니다.
1,1,1,2,1,2,1,-2,-2,1
- 이 리스트에서 1이 몇번 등장하는지 계산합니다. 여기는 6번 등장하네요.
- 원본 데이터에서 1이 몇번 등장하는지 비교해서 더 많이 등장하는 리스트를 출력하세요. 예시에는 바꾼 데이터에 1이 더 많이 등장하니 바꾼 형식으로 출력합니다.
- 만약 1이 등장하는 수가같다면 0을 출력하세요
주의사항
입출력 형식에 주의하세요. 출력의 형식이 다르면 오답처리 될 수 있습니다.
정답
input_data = input()
input_list = [] # 입력값을 정수의 리스트로 변환 (각 요소는 정수)
resid_list = [] # 지시사항에 따라 처리한 리스트 (각 요소는 정수)
input_list = list(map(int, input_data.split(',')))
i = 0
while i < len(input_list):
if i==0:resid_list.append(input_list[i])
else: resid_list.append(input_list[i]-input_list[i-1])
i+=1
inputList = input_list.count(1)
residList = resid_list.count(1)
# 원본이 1이 많으면
if inputList > residList: print(input_list)
# 바뀐 형식이 1이 많으면
elif inputList < residList: print(resid_list)
# 1의 수가 같으면
else : print(0)
이 문제는 8번 9번 문제에 비해 아~~~~~주 쉬웠습니다.
엘리스 파이썬 연습문제 중에서 9번이 제일 어려웠습니다.😥
솔직히 9번문제 빼고는 하루 안에 다 풀 수 있을 정도로 풀기 쉬웠는데 9번이 빌런이네요😭
그래도 끝까지 다 풀어서 뿌듯합니다.
728x90
반응형
'엘리스 AI 트랙🐇 > [AI 5기] 연습 문제집_파이썬 실습' 카테고리의 다른 글
[파이썬 실습] 심화 문제_괄호의 짝 (0) | 2022.06.07 |
---|---|
[파이썬 실습] 심화 문제_문자열 데이터 압축하기 (0) | 2022.06.06 |
[파이썬 실습] 심화 문제_당근 탐지기 (0) | 2022.06.05 |
[파이썬 실습] 심화 문제_문자의 빈도 조사하기 (0) | 2022.06.05 |
[파이썬 실습] 심화 문제_겹치는 구간의 길이 (0) | 2022.06.05 |
Comments