결과값ㅇ 0,3,1이 나온거까지는 이해가되는데 어떻게 또 3이 나오는지 이해가 안되요.. 도와주세요!
## 1: 원본 코드에 주석을 추가했습니다.
def runLengthEncoding(data):
result = []
// count값은 0번 인덱스의 개수가 무시되기 때문에 1부터 시작합니다.
count = 1
// data의 1번 위치부터 반복을 시작합니다.
// python에서 인덱스는 0부터 시작함을 잊으면 안됩니다.
for i in range(1, len(data)):
// 만약 현재 데이터가 이전 데이터와 같다면 count를 올립니다.
if data[i] == data[i-1]:
count = count + 1
// 만약 현재 데이터가 이전 데이터와 다르다면
// result 리스트에 이전 데이터 정보와 count 개수를 저장합니다.
// 그리고 count를 1로 초기화합니다.
else:
result.append(data[i-1])
result.append(count)
// 만약 i가 result의 마지막 길이 직전이라면
// 현재 count 정보를 저장하고 종료합니다.
if i == (len(data)-1):
result.append(data[i])
return result
i=runLengthEncoding("000111000111")
print(i)
## 2: 원본 코드에 print 함수를 통해서 동작을 확인해 보았습니다. 수정된 코드는 아래와 같습니다.
print('{}, {} : '.format(data[i-1], data[i]), end="") #수정
print('일치') # 수정
print('불일치, data {}: count {} 저장'.format(data[i-1], count)) #수정
print('마지막 요소, data {}: count {} 저장'.format(data[i], count)) #수정
## 3: 2에 따른 출력은 아래와 같습니다.
0, 0 : 일치
0, 1 : 불일치, data 0: count 3 저장
1, 1 : 일치
1, 0 : 불일치, data 1: count 3 저장
마지막 요소, data 1: count 3 저장
['0', 3, '1', 3, '0', 3, '1', 3]
:)
금오인의 소통광장, 금오광장입니다!
일편단심의 까마귀 익명
2020.04.28## 1: 원본 코드에 주석을 추가했습니다.
def runLengthEncoding(data):
result = []
// count값은 0번 인덱스의 개수가 무시되기 때문에 1부터 시작합니다.
count = 1
// data의 1번 위치부터 반복을 시작합니다.
// python에서 인덱스는 0부터 시작함을 잊으면 안됩니다.
for i in range(1, len(data)):
// 만약 현재 데이터가 이전 데이터와 같다면 count를 올립니다.
if data[i] == data[i-1]:
count = count + 1
// 만약 현재 데이터가 이전 데이터와 다르다면
// result 리스트에 이전 데이터 정보와 count 개수를 저장합니다.
// 그리고 count를 1로 초기화합니다.
else:
result.append(data[i-1])
result.append(count)
count = 1
// 만약 i가 result의 마지막 길이 직전이라면
// 현재 count 정보를 저장하고 종료합니다.
if i == (len(data)-1):
result.append(data[i])
result.append(count)
return result
i=runLengthEncoding("000111000111")
print(i)
## 2: 원본 코드에 print 함수를 통해서 동작을 확인해 보았습니다. 수정된 코드는 아래와 같습니다.
def runLengthEncoding(data):
result = []
count = 1
for i in range(1, len(data)):
print('{}, {} : '.format(data[i-1], data[i]), end="") #수정
if data[i] == data[i-1]:
print('일치') # 수정
count = count + 1
else:
print('불일치, data {}: count {} 저장'.format(data[i-1], count)) #수정
result.append(data[i-1])
result.append(count)
count = 1
if i == (len(data)-1):
print('마지막 요소, data {}: count {} 저장'.format(data[i], count)) #수정
result.append(data[i])
result.append(count)
return result
i=runLengthEncoding("000111000111")
print(i)
## 3: 2에 따른 출력은 아래와 같습니다.
0, 0 : 일치
0, 0 : 일치
0, 1 : 불일치, data 0: count 3 저장
1, 1 : 일치
1, 1 : 일치
1, 0 : 불일치, data 1: count 3 저장
0, 0 : 일치
0, 0 : 일치
0, 1 : 불일치, data 0: count 3 저장
1, 1 : 일치
1, 1 : 일치
마지막 요소, data 1: count 3 저장
['0', 3, '1', 3, '0', 3, '1', 3]
:)