랩실에서 코딩테스트 스터디를 시작했다. 일찍 준비하면 좋지 않을까 ~ 해서 같이 하기로 했는데 평소 내가 풀던 레벨에서 한 1단계는 올라간 느낌이랄까... 맨날 풀면서 나는 취업할 수 있으려나 ~ 이러면서 푼다 ^^... 저번 주에는 일이 있어서 참석 못하고, 이번 주
카카오... 진짜 쉽지 않다... 예전에 한창 프로그래머스 풀 때도 카카오는 난이도 1인 문제도 꽤나 시간이 걸렸다... 사실 이번에는 내가 완전히 풀었다고 할 수 없는 게, 이거 !!! 뭔가 set이라는 초기화값(?)만 있으면 될 것 같은데 !!! 하다가 사알짝 구글
너무... 어렵다... level3... 나는 한 level -1정도 되는 것 같은데... dfs/bfs 개념을 모르니까 그냥 중첩 반복문으로 풀었는데 테스트 세트 3개 맞고 나머지 다 틀렸다 ^^문제 읽으면서 아 쉽네 ~ 이랬다가 ^^... 탈탈 털려버렸다.일단 풀이
역시 level3랑 level2는 조금 차이가 나는 것 같다. 왜냐하면 level2는 그래도 엄청 오래 고민하면 풀 수 있기 때문이지 !!!https://programmers.co.kr/learn/courses/30/lessons/43165처음에 문제를 보고
오늘 문제는 좀 뭐랄까... 이렇게 푸는 게 맞나 싶을 정도로 뚝딱뚝딱 푸니까 됐었다...! 아직도 얼떨떨하다.https://leetcode.com/problems/search-in-rotated-sorted-array/아무리 봐도 이게 문제로 나올 정도라고.
오늘 문제는 양심상 2번 더 풀었다 ㅎㅎ...https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/약간 문제가 뭔가... 답 도출 부분에 있어서 return the minimum element
문제 이진수에서 1 간의 거리를 binary gap이라고 정의 binary gap이 여러 개 나타날 때 max binary gap 구하기 내가 작성한 코드 옥에 티가 아닌 티에 티 이진법 직접 구현 ... 하드하드코딩 ㅋ cnt들의 list를 만들고 거기서 max 값을 골라도 됐을듯 GPT 피드백 bin 함수를 통해 내가 직접 구현하지 않아도...
문제 주어진 array를 주어진 K라는 값만큼 right shift된 array 출력 내 코드 리스트 회전은 매우 단순히 처리 가능 하지만 현재 불필요하게 dict, 수동 인덱스 처리 mod 연산으로 가능한 인덱스 처리 예외 미처리 K가 A의 길이 이상일 때 오류 GPT 피드백 개개충격적인 K를 이용한 회전 ... 한 번만 더 생각해보자 ...
문제 Array에서 element 값이 pair가 되지 않는 경우의 value 반환 내 코드 이럴 때 유용한 게 Counter 하지만 이 경우 공간 복잡도가 O(N) 시간 복잡도는 전체를 한 번만 보면 되니까 O(N) 지피티 코드 XOR 계산으로 한 번에 해결 같은 수끼리 XOR: 0 0과 XOR: 자기 자신 천재적인 생각 ... 난 절대...
문제 개구리가 한 번에 갈 수 있는 거리 D, 최소 도달 지점 Y (이 이상 가능), 현재 위치 X 이 주어졌을 때 점프 해야 하는 횟수 구하기 내 코드 나머지가 존재할 때만 한 번 더 가면 됨 지피티 코드 if문 안 쓰고 한 번에 ceil로 처리 사실 내 코드는 굳이긴 함
문제 1부터 N+1까지의 element로 구성된 길이 N의 array 즉 한 element가 빠져있는 array 이때의 element를 찾아 반환 내 코드 빈 리스트일 때 처리 안됨 sorted(A)에서 O(NlogN) 만큼의 시간 복잡도 지피티 코드 수학적 논리로 접근 이건 꼼수 아니야 ..?
문제 Array가 주어졌을 때 0 < p < N의 index 좌우 합 차이 절대값 중 가장 작은 값 내 코드 ㅋㅋ np.inf 밖에 기억이 안나서 ... 대충 큰 숫자로 ... 앞으론 지양하자 min 함수로 처리할 수 있는 부분은 굳이 if문 쓰지말고 처리하자 p로 인한 O(N), sum으로 인한 O(N)으로 총 O(NxN) 지피티 코드 기억하자 f...
문제 길이 N의 Array가 주어졌을 때 [1...N]의 값이 모두 1번씩 존재 = permutation (1 반환) 아닐 경우 (0 반환) 내 코드 예외 처리 (중복, 범위 불만족) 에 대한 코드가 전혀 없음 지피티 코드 1) 을 통해 범위 검사 2) 를 통해 중복 검사 구현 능력 자체도 중요하지만 예외를 좀 더 고민해보자 ...
문제 주어진 배열을 기반으로 최종적으로 만들어지는 counters 반환 이때 배열의 원소을 통해 operation을 선택 내 코드 N, M은 최대 100,000까지 가능 max 값을 구할 때 O(N)이 걸림: 모든 요소를 다 훓어봐야하니까. 하지만 매번, 즉 M개의 요소 모두가 최댓값을 찾는 연산으로만 구성되어 있으면 O(NxM) 이 됨 지피티 코드 ...
문제 서로 동/서 교차되는 차의 개수 구하기 1일 때 이전에 나온 0이 몇개인지 구하면 됨 내 코드 처음에 result 조건 안 줘서 틀림 ㅋㅋ .. 문제를 똑바로 읽자 지피티 코드 공간복잡도까지 고려했을 때 좋은 코드 사실 east를 굳이 리스트로 둘 필요가 없음
문제 A, B, K가 주어짐 (A, B) 범위의 수들 중 K로 나뉘어지는 수의 개수 구하기 내 코드 O(B-A)만 생각했음 일단 너무 짧게 단순히 풀리면 의심하자 ... 지피티 코드 생각 조금만 하면 접근할 수 있는 부분 .........