5월 17일

no_continuous함수는 스트링 s를 매개변수로 입력받습니다.

s의 글자들의 순서를 유지하면서, 글자들 중 연속적으로 나타나는 아이템은 제거된 배열(파이썬은 list)을 리턴하도록 함수를 완성하세요. 예를들어 다음과 같이 동작하면 됩니다.

s가 '133303'이라면 ['1', '3', '0', '3']를 리턴 s가 '47330'이라면 [4, 7, 3, 0]을 리턴


위에 처럼 코드를 썻는데,

항상 파이썬 할때 헷갈리는건 매개인자가 "" 인 경우 str이어도 list로 처리 가능?!

그래서 굳이 list로 변환 해줄 필요가 없다.


연속되는 두개만 확인하면 되기에 for문을 돌면서 i, i+1을 비교했다.

이런 문제 풀때마다 느끼는 거는 list out of range문제 ㅡ,.ㅡ 그래서 종료 조건도 추가..


고수 정답:(드래그 하면 보임)
[s[i] for i in range(len(s)) if s[i] != s[i+1:i+2]]


놀라울 뿐이다. 저렇게 인덱싱 하는게 대단함.


5월 18일 금요일

getMiddle메소드는 하나의 단어를 입력 받습니다. 단어를 입력 받아서 가운데 글자를 반환하도록 getMiddle메소드를 만들어 보세요. 단어의 길이가 짝수일경우 가운데 두글자를 반환하면 됩니다. 예를들어 입력받은 단어가 power이라면 w를 반환하면 되고, 입력받은 단어가 test라면 es를 반환하면 됩니다.






이 역시 크기 계산 후 짝수, 홀수에 따라서 i, i+1로 리턴.

최대한 람다를 활용하려고 노력함.

람다식으로 변환 계속 해보려 노력중.

한가지 알게 된 점은 위에 처럼 코드를 치면 쟤는 람다 함수가 되서 return에 함수처럼 인자를 직접 넣어줘야한다 

+ Recent posts