jooyoungho-Logo

Lab

알고리즘을 온라인상에서 풀 수 있는 좋은 사이트(https://programmers.co.kr)를 발견했다.

많은 알고리즘 문제 중 "같은 숫자는 싫어" 문제를 풀어보았고, 풀이를 공유하려한다.

 

나의 풀이

def no_continuous(s):
    list = []
    for i in range(len(s)):
        if i == 0:
            list.append(s[i])
        elif s[i-1] != s[i]:
            list.append(s[i])
    return list

# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( no_continuous( "133303" ))

 

그냥 빈 리스트를 만들고 받은 s 배열의 요소 개수를 len 함수로 구한 다음에, range 함수로 그 범위를 만들어 주었다.

일반 기본이 되는 논리는 배열의 이전 요소와 현재 요소가 같지 않다면 리스트에 추가를 하는 것이다.

단, 만약 첫 번째 반복일 경우(즉, i가 0일 경우)엔 s[i - 1]가 존재하지 않아 오류가 난다.

이에 대한 해결로 만약 i가 0일 경우엔 리스트에 바로 추가하게끔 했다.

 

일단 나는 이렇게 풀었고, 다른 사람들의 풀이를 몇 가지 보며 생각을 넓혀보자.

 

def no_continuous(s):
    a = []
    for i in s:
        if a[-1:] == [i]: continue
        a.append(i)
    return a

# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( no_continuous( "133303" ))

 

def no_continuous(s):
    return [s[i] for i in range(len(s)) if s[i] != s[i+1:i+2]]

print( no_continuous( "133303" ))

 

def no_continuous(s):
    result = []
    for i in s:
        if (len(result) == 0 or result[-1] != i):
            result.append(i)
    return result

# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( no_continuous( "133303" ))

 

 

 

 



  1. [파이썬 알고리즘] x만큼 간격이 있는 n개의 숫자

    Date2018.05.22 ByYoungho Views234
    Read More
  2. [파이썬 알고리즘] 같은 숫자는 싫어, 중복 숫자 제거

    Date2018.05.21 ByYoungho Views744
    Read More
  3. PHP: 특정 아이피만 접근 허용

    Date2017.03.01 ByYoungho Views539
    Read More
  4. jQuery: 사용자의 스크롤 값을 구하고 싶을 땐?

    Date2017.02.13 ByYoungho Views747
    Read More
  5. Math.random()을 이용하여 일정 범위의 난수 표현하기

    Date2017.01.30 ByYoungho Views4641
    Read More
  6. JavaScript: 비만도와 적정 체중

    Date2016.11.28 ByYoungho Views565
    Read More
  7. [link]JavaScript: Scope 이해

    Date2016.11.14 ByYoungho Views113
    Read More
  8. 구글 Noto 한국어 글꼴을 웹에서 마음껏! (구글 원문 펌)

    Date2016.10.12 ByYoungho Views128
    Read More
  9. !DOCTYPE html은 무엇인가?

    Date2016.09.20 ByYoungho Views128
    Read More
  10. meta 태그가 제대로 먹히지 않아 섬네일이 뜨지 않는 현상

    Date2016.08.14 ByYoungho Views164
    Read More
Board Pagination Prev 1 Next
/ 1
foot_logo
서버에 요청 중입니다. 잠시만 기다려 주십시오...