NeetCode - Two Pointers

2024. 6. 7. 00:19·Java & Spring/코딩테스트

□ Is Palindrome

https://neetcode.io/problems/is-palindrome

 

NeetCode

 

neetcode.io

- 코드 리뷰

  1. 반복문을 통해서 양쪽 끝에서 시작하여 charAt과 isLetter || isDigit을 이용하여 새로문 문자열 생성

※ isLetter || isDigit 은 isLetterOrDigit으로 사용 가능

 


□ Two Integer Sum II

https://neetcode.io/problems/two-integer-sum-ii

 

NeetCode

 

neetcode.io

- 코드 리뷰

※ 공간복잡도 O(1)의 조건이 있음

  1. List 생성 후 numbers배열 요소 대입
  2. 만약 targer - numbers[i] 가 list 내에 있으면
  3. 해당 indexOf를 가져오고 + 1 을 하여 answer 배열에 대입

□ Three Integer Sum

https://neetcode.io/problems/three-integer-sum

 

NeetCode

 

neetcode.io

- 코드 리뷰

시간복잡도 O(n^3)를 가지는 비효율적인 코드다

 

- 모범 답안

- 코드 리뷰

  1. 배열을 우선 정렬한다.
  2. 반복문을 통해 세항 중 첫번째 값을 선정하는데
  3. nums[i] > 0 이면 무엇을 더해도 0이 될 수 없기 때문에 음수인 nums[i]를 찾는다.
  4. 중복된 세수의 조합을 피하기 위해 첫번째 값은 nums[i] == nums[i - 1]을 피한다.
  5. 이중 포인터를 이용해서
  6. 세수의 합이 양수인경우 r을 감소시키면서
  7. 음수인 경우 l을 증가시키면서 답을 찾는다.

□ Max Water Container

https://neetcode.io/problems/max-water-container

 

NeetCode

 

neetcode.io

- 코드 리뷰

  1. 이중 반복문을 통해 좌변에 대한 모든 경우의 수를 계산

- 모범 답안

- 코드 리뷰

  1. 초기 가로의 길이를 배열의 최대 길이로 설정
  2. 세로의 길이는 좌우변 중 작은 값으로 설정
  3. area 값이 res값보다 커지면 res에 area값 대입
  4. left값과 right값을 인덱스로 갖는 heights의 값을 비교하여 작은 쪽의 값의 인덱스를 증가시키며 최대치 찾기

□ Trapping Rain Water(실패)

https://neetcode.io/problems/trapping-rain-water

 

NeetCode

 

neetcode.io

- 코드 리뷰

  1. 반복문을 통해 인덱스가 l < r인동안 while문 실행
  2. l을 증가시키면서 왼쪽 기둥 찾기
  3. res값에 물이 들어갈 수 있는 공간(leftMax - height[l])을 더함
  4. r방향도 반복

'Java & Spring > 코딩테스트' 카테고리의 다른 글

3일차 - 알고리즘 코드카타  (0) 2024.07.17
2일차 - 알고리즘 코드카타  (0) 2024.07.16
NeetCode - Arrays & Hashing  (0) 2024.05.27
프로그래머스 - 기초트레이닝 7일차(완료)  (1) 2024.05.08
프로그래머스 - 기초트레이닝 6일차  (0) 2024.05.06
'Java & Spring/코딩테스트' 카테고리의 다른 글
  • 3일차 - 알고리즘 코드카타
  • 2일차 - 알고리즘 코드카타
  • NeetCode - Arrays & Hashing
  • 프로그래머스 - 기초트레이닝 7일차(완료)
DJ.Kang
DJ.Kang
백엔드 개발 기록 블로그
  • DJ.Kang
    DJ Hello World
    DJ.Kang
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 이론공부
        • 자격증
        • 개념
      • 시스템설계
      • Java & Spring
        • TIL
        • 트러블슈팅
        • 고도화
        • 알고리즘
        • 코딩테스트
        • Java
        • Spring
        • Thymeleaf
      • 프로젝트
        • coin-trading
        • 트러블슈팅
      • Docker
      • DB
      • AWS
      • CI-CD
      • 웹
      • git & github
      • 구인공고분석
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    java 에라토스테네스의 체
    데이터 크기
    Java 생성자
    java
    java two-pointer
    java 유클리드 호제법
    java기초
    java enhance switch
    프로그래머스 java 기초 트레이닝
    데이터 타입
    java 세수의합
    자료구조
    프로그래머스 java 기초트레이닝
    java super
    Java this
    개발로드맵
    java 메서드
    java 제어자
    java arrays.copyofrnage()
    java 멤버
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
DJ.Kang
NeetCode - Two Pointers
상단으로

티스토리툴바