9일차 - 알고리즘 코드카타

2024. 7. 25. 11:27·Java & Spring/코딩테스트

- 진행

일자 완료 번호
24.07.16 1~20
24.07.17 21~35
24.07.18 36~42
24.07.19 43~47
24.07.22 48~50
24.07.23 51~55
24.07.24 56~57
24.07.25 58

 

- 회고

https://school.programmers.co.kr/learn/courses/30/lessons/12977

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

- 풀이과정

class Solution {
    public int solution(int[] nums) {
        int answer = 0;
        int sum = 0;

        for (int i = 0; i < nums.length - 2; i++) {
            int l = i + 1;
            int r = nums.length - 1;

            while (l < r) {
                    sum = nums[i] + nums[l] + nums[r];
                    answer += prime(sum);
                    l++;
                    if(l >= r){
                        r--;
                        l = i + 1;
                    }
                }
            }
        return answer;
        }

    public static int prime(int sum) {
        int count = 0;
        int sqrt = (int) Math.sqrt(sum);
        for (int i = 1; i <= Math.sqrt(sum); i++) {
            if (sum % i == 0) {
                count++;
            }
        }
        if (count > 1) {
            return 0;
        } else {
            return 1;
        }
    }
}
  1. 우선 소수를 확인하는 함수를 따로 구현함
  2. 처음에는 삼중for문을 사용하여 구현하려 했으나 이전에 풀었던 문제중 Two Pointer알고리즘이 생각나 위와같이 구현
  3. l의 초기화와 r의 감소 조건을 생각하는데 오래걸림
    ※ 해당 문제의 경우 3중 for문이 투포인터보다 빠르게 나옴

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

11일차 - 알고리즘 코드카타  (0) 2024.07.29
10일차 - 알고리즘 코드카타  (0) 2024.07.26
8일차 - 알고리즘 코드카타  (0) 2024.07.24
7일차 - 알고리즘 코드카타  (0) 2024.07.23
6일차 - 알고리즘 코드카타  (1) 2024.07.22
'Java & Spring/코딩테스트' 카테고리의 다른 글
  • 11일차 - 알고리즘 코드카타
  • 10일차 - 알고리즘 코드카타
  • 8일차 - 알고리즘 코드카타
  • 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 this
    java arrays.copyofrnage()
    java
    자료구조
    java기초
    프로그래머스 java 기초 트레이닝
    프로그래머스 java 기초트레이닝
    데이터 타입
    데이터 크기
    java 멤버
    java enhance switch
    java 유클리드 호제법
    java 세수의합
    Java 생성자
    java 에라토스테네스의 체
    java super
    java two-pointer
    개발로드맵
    java 제어자
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
DJ.Kang
9일차 - 알고리즘 코드카타
상단으로

티스토리툴바