목록투포인터 (9)
개발자는 기록이 답이다
4. 모든 아나그램 찾기(Hash, sliding window : 시간복잡도 O(n)) 예시 입력 1 10 3 13 15 34 23 45 65 33 11 26 42 예시 출력 1 143 내가 푼 첫번째 틀린 풀이 맨 처음에는 map에서 equals함수가 된다는걸 모르고 엄청난 뻘짓을 했다,, map.get(key)로 나온 value값이 서로 일치하는지로 해봤더니, 이전에 A부분에서 지나간건 체크를 못하더라. import java.util.HashMap; import java.util.Scanner; public class Main { public int solution(String str, String t) { int answer = 0; HashMap target = new HashMap(); for ..
3. 매출액의 종류(Hash, sliding window) 예시 입력 1 7 4 20 12 20 10 23 17 10 예시 출력 1 3 4 4 3 내가 푼 틀린 풀이(Time: 1979ms Memory: 35MB) - Time Limit Exceeded 해쉬랑 슬라이딩 윈도우 사용하면 된다그래서, 해쉬셋을 사용했는데, 시간 초과가 나왔다. 입력값이 10만 이상이면 명시적으로 하나의 for문이라도 rt를 이전으로 옮겨서 다시 for문을 돌게 해서 시간 초과가 나는 것 같다. 시간 초과 문제는 rt와 lt를 조작하여 슬라이딩 윈도우를 이전으로 돌리는 부분에서 발생하는 것 같다. 주어진 코드에서 rt와 lt를 이동시키면서 슬라이딩 윈도우를 관리하면 결국 중첩된 for 루프처럼 되는데, 입력값이 커질수록 시간 ..
https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해당 문제는 그리디 알고리즘을 이용한 문제라고 되어있지만, 나는 투 포인터를 배웠기 때문에 투포인터로 풀어보고자 한다. 첫번째 풀이 테스트케이스는 다 성공하지만, 제출했을 때, 결과가 처참하다. 단지 포인터를 쓰기 위해 lt rt만 집중했고, 문제를 어떻게 해결해야할지 판단과 문제에 대한 분석이 미숙했던것 같다. 채점 결과 정확성: 14.8 효율성: 7.4 합계: 22.2 / 100.0 impor..
https://school.programmers.co.kr/learn/courses/30/lessons/12924 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫번째 풀이 정확성: 70.8 효율성: 25.0 합계: 95.8 / 100.0 1을 안더해줘도 되게끔 sum에 lt변수를 넣어서 초기화 해줬는데, n이 1로 들어올 경우 연속된 수열의 합의 경우의 수를 제대로 못찾는 것 같다. 그래서 두번째 코드로 변경했다 예를 들어서, N이 1이면 1로 1을 만들 수 있으므로 경우의 수가 1개인데, 0이 출력된다. 투포인터 할때 sum에 lt를 대입해주지 말자,..