1번처럼 이중 포문으로 풀고나서 조금 더 효율적인 코드는 없을까를 생각해보다가 for문을 한번만 쓰고 풀수 있을거 같다는 생각이 들었다. 주어진 target을 이용해서 한번 풀어보려고 노력했다. 리스트 값들 중에 한개를 뽑아서 target 에서 뺀 뒤 in 을 사용해서
이 코드는 내가 잘못푼 코드이다나는 같은 문자가 연속해서 나오는것만 안되는줄 알았다.하지만 한 문자열안에 같은 문자가 있으면 안되는 문제였다.그렇게 되면 내가 처음에 생각했던 코드보다 비교적 쉽게 문제를 해결할 수 있다.이것은 정답으로 인정된 내가 푼 코드이다.a =
숫자로 받은 num을 str 타입으로 바꾸고 길이 만큼 for문을 돌린다.처음과 끝 글자가 같지 않으면 answer 에 False를 넣어준다. i 가 1씩 증가하면서 비교를 반복한다.한번이라도 같지 않는 경우가 생기면 answer는 False 를 리턴한다.
문제를 봤을때 어렵지 않은 문제라고 생각했다. 글자를 한개씩 비교만 하면 된다고 생각 했는데 \[] 일때와 'abc','abd','' 와 같은 경우도 같이 생각해야 했다. 앞부분에서 먼저 strs = \[], strs = 'abc','abcd','' 같은 경우를 먼저
이 문제는 굉장히 간단했다. 리스트의 길이만큼 for문을 돌려주고 나오는 값들의 개수가 리스트 길이의 절반보다 큰지 묻고 크다면 바로 그 값을 리턴시키면 된다.
이 문제를 읽었을때 많은 고민을 했다. s = "(){}" 와 같이 같은 타입이 반복되는 경우에는 쉽게 구현할 수 있지만 s = "{\[]}" 와 같이 두개씩 비교를 할수 없는 경우로 인해 많이 힘들어진것 같다.나는 이 문제를 풀기 위해서 어떤 값이 들어왔을때 올바른
이 문제를 해석해보면 가장 많이 반복되는 숫자 순으로 k개가 리스트에 담겨져서 반환되어야 한다. 처음에는 리스트를 이용해서 구현하려고 했지만 잘 되지 않았다. 그래서 생각해 낸것이 딕셔너리이다. 일단, list(set(nums))으로 중복된 숫자를 제거하고 리스트에 담