3번문제는 조금 어려웠다
내 생각엔 소문자 하나에 대문자 3개가 양옆으로 있는 그런 소문자들을 조합하면 답이 나올거 같다.
늘 그랫듯이
우선 이 글들을 복사해서 텍스트 파일로 만들었다.
2번문제에서 배운 교훈을 이용해 파일을 입력으로 받을 생각이다.
우선 내 생각은 이랬다.
유니코드로 소문자는 97부터 122까지였고
대문자는 65부터 90까지다.
즉 ord로 숫자를 판별해서
앞에 세개가 대문자고 가운데 소문자 그리고 뒤 세개가 대문자인지 판별하는 식을 입력했다.
...
..??
이게 답이라고?? 뭔가 잘못됬다는 생각이 들었다.
이렇게 많을리가..
인덱스를 조사해서 어디서 저 소문자들이 출력됬는지 확인했다.
대문자가 연속으로 4개인 경우도 출력하고 5개 등등 앞뒤로
예외상황이 많았다..
나는 지금까지 해왔던것들을 그대로 유지하면서 진행하려고 노력했으나
난관에 부딪혔다.
한참을 고민해봤지만 새로운 방식으로 해야했다.
전에 암호공부하면서 같이 파이썬을 다룬적이 있는데 그 때 정규식으로 패턴 검색하던 것이 생각났다.
급히
정규식 검색과 파이썬 API 문서 참조를 통해
정규식을 공부하고
다시 이 문제에 접근했다.
한번에 됬다.! 저기에서 세개로 싸인 소문자들만 읽으면 된다!
하지만 그러기에 조금 찝찝하고 정규식을 더 써볼겸 해서 코드를 추가해보았다.
문제 화면이다.
(3번 문제 화면)
내 생각엔 소문자 하나에 대문자 3개가 양옆으로 있는 그런 소문자들을 조합하면 답이 나올거 같다.
(소스 코드로)
늘 그랫듯이
페이지 소스보기 클릭!
(문자덩어리들)
우선 이 글들을 복사해서 텍스트 파일로 만들었다.
2번문제에서 배운 교훈을 이용해 파일을 입력으로 받을 생각이다.
우선 내 생각은 이랬다.
유니코드로 소문자는 97부터 122까지였고
대문자는 65부터 90까지다.
즉 ord로 숫자를 판별해서
앞에 세개가 대문자고 가운데 소문자 그리고 뒤 세개가 대문자인지 판별하는 식을 입력했다.
이 조건에 맞으면 리스트에 추가하고 출력! (간단하군!)
(의심없이 코딩)
(실행 결과)
...
..??
이게 답이라고?? 뭔가 잘못됬다는 생각이 들었다.
이렇게 많을리가..
인덱스를 조사해서 어디서 저 소문자들이 출력됬는지 확인했다.
(예외 글자)
대문자가 연속으로 4개인 경우도 출력하고 5개 등등 앞뒤로
예외상황이 많았다..
(3개 뿐 아니라 더 앞 더 뒤도 한번 더 체크)
검사 글자로부터 앞뒤 3개가 아니라 4개 검사로 늘렸다.
(실패)
나는 지금까지 해왔던것들을 그대로 유지하면서 진행하려고 노력했으나
난관에 부딪혔다.
한참을 고민해봤지만 새로운 방식으로 해야했다.
전에 암호공부하면서 같이 파이썬을 다룬적이 있는데 그 때 정규식으로 패턴 검색하던 것이 생각났다.
급히
정규식 검색과 파이썬 API 문서 참조를 통해
정규식을 공부하고
다시 이 문제에 접근했다.
(정규식 이용 코드)
(결과)
한번에 됬다.! 저기에서 세개로 싸인 소문자들만 읽으면 된다!
하지만 그러기에 조금 찝찝하고 정규식을 더 써볼겸 해서 코드를 추가해보았다.
(한번에 결과를 출력하는 코드)
(실행 결과)
답은 linkedlist !
(이제야 뭔가 답 같다.)
(해왔던 대로 linkedlist 입력)
(??)
(정답~)
3번 문제에서 탈출하였다.!
하던 방식이 안되면 다른 방법으로 접근을 해야된다라는게
오늘의 교훈 3번의 교훈이다.!
:)
'WarGame > Python Challenge' 카테고리의 다른 글
Python Challenge - 5 (0) | 2017.01.18 |
---|---|
Python Challenge - 4번 (0) | 2017.01.09 |
Python Challenge - 2 (0) | 2017.01.01 |
Python Challenge - 1 (0) | 2017.01.01 |