이 쉬운걸 도대체 왜? 라고 생각할 수 있겠는데 내가 너무 어이가 없어서 남긴다.
문제는 간단하다. 그냥 list 에 있는 엘리멘트중에 원하는것을 세는 문제다. 그래서 처음엔 이렇게 만들었다.
1 2 3 4 5 6 | target = int ( input ()) numbers = str ( raw_input ()).split( " " ) cnt = 0 for i in numbers: if int (i) = = target: cnt = cnt + 1 print cnt |
근데 런타임에러가 발생했다.
그래서 여기서부터 온갖 뻘짓을 다하기 시작했는데
나중에는
1 2 3 4 5 6 7 | target = str ( raw_input ()) numbers = str ( raw_input ()).split( " " ) cnt = 0 for i in numbers: if ord (i) = = ord (target): cnt = cnt + 1 print cnt |
str로 아스키코드로 비교하는거까지 만들었다. 근데 안된다.
결론을 말하자면 for 안에서 i를 캐스팅하려고 하면 에러가 난다. 그래서 내부에 k라는 변수를 만들어 할당하고 캐스팅을 해봤는데도 에러가 나서 그냥 다음과 같이 처리했다
1 2 3 4 5 6 | target = str ( input ()) numbers = str ( raw_input ()).split( " " ) array = [] for i in numbers: array.append(i) print array.count(target) |
count는 안쓰고 싶었는데 안되니 별수가 없다. str 채로넣고 str로 비교해서 카운트해서 패스했다...