21.2.26

커피 내리는 그냥 사람·2021년 2월 26일
0

위코드 pre코스

목록 보기
23/28

Python 이해도 테스트 어려웠던 내용

4. get_find 함수 만들기

  • 왜 어려웠나? :
  1. 문제를 잘못 읽었다. 문제에 예시는 문자열 중 문자가 나타나는 인덱스를 표시하는 내용이었는데 예시를 잘못 읽고 문자의 갯수를 표시하는 것인 줄 알았다.

  2. 왜 문제를 잘못 읽었을까? :
    find 함수를 쓰지 말라고 했다. 이게 힌트였다.

    find는 문자열중에 특정문자를 찾고 위치를 반환해준다, 없을경우 -1을 리턴

find는 갯수와 관계가 없다.(갯수는 count). 그러니 위치를 찾는 것으로 포커싱했어야 했다.

  • 실수했던 것 : count = 0, split,... 등 갯수를 세기 위한 모든 것을 다 했다.
  1. 그래서 해결 :
def get_find(char, str):
    # 아래 코드를 작성해주세요.
  x = char
  y = str
  for i in range(0, len(y)):
    if y[i] == x:
      return i
      break
  if x not in y:
    return -1

for 문 이용. str을 모두 인덱스의 값으로 바꿔서 숫자로 만들어 계산. return은 처음으로 나타난 i의 자리를 구해주면 됨. 없으면 -1을 반환.
이 모든 것이 find 메소드의 원리인데 아마 이게 어려웠나보다. 전에도 비슷한 경험을 했었다.(코딩도장)

5. 긴 단어 찾기

  • 무엇이 어려웠나? : 어려웠다기보다는 머리 속에서 맴도는 것이라 헷갈려서 헤맸다. 코드를 정리하다보니 해결된 문제였다.

  • 어떻게 해결하였나? : 임의의 단어를 생성하고 그 단어와 for 문으로 지속적으로 비교했을 때 길이를 찾는 문제.

def find_longest_word(words):
    long = ""
    for word in words:
      if len(word) > len(long):
        long = word
    return long

여러 문자가 들어가더라도 알아서 for문이 돌아가준다.

profile
커피 내리고 향 맡는거 좋아해요. 이것 저것 공부합니다.

0개의 댓글