반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- 프로그래머스
- 보통2종
- MySQL
- Spring Boot
- delegate
- Java
- 백준
- programmers
- 3일컷
- level4
- 코딩테스트
- springboot
- 쿼리
- 일반화
- WSL
- JPA
- 자바
- 1931번
- level3
- c#
- 닫기버튼
- 운전면허
- MVVM
- WPF
- 씨샵
- 코테
- SQL
- level2
- Python
- 스프링부트
Archives
- Today
- Total
욱꾸미의 주꾸미 발
[코딩테스트] 프로그래머스 - 연속 부분 수열 합의 개수(Java, Level2) 본문
반응형
안녕하세요.
요즘은 프로그래머스에서 나오는 코딩테스트 문제를 하나씩 푸는재미에 빠져있습니다.
나름 현업을 2년넘게 하면서 그래도 나도 이제 코딩좀 한다 생각했는데
저의 오만함을 다시 한 번 깨닫고 자바를 배울 수 있는계기가 되고 있습니다.
풀이를 참고하지 않은 제가 직접 푼 문제에 대해서만 포스팅 해보고자 합니다.
해당 문제에대한 정보는 링크를 참조해주시기 바랍니다 :D
https://school.programmers.co.kr/learn/courses/30/lessons/131701
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
저같은 경우는 3중 for문을 사용했습니다. 그런데 계속 시간초과가 나오더군요.
더이상 어떻게 줄이지 하다가 기존에는 ArrayList에서 indexOf를 통해 위치를 탐색 후 위치가 없으면 추가하는 방식에서
HashSet을 통해 중복없이 값을 넣었습니다.
그제서야 성공했습니다.
import java.util.*;
class Solution {
public int solution(int[] elements) {
int answer = 0;
int elementsLength=elements.length;
int sum=0;
HashSet<Integer> answerList=new HashSet<>();
//먼저 길이를 지정할 for문하나 만들기
for(int i=1;i<=elements.length;i++)
{
//길이에 대한 시작점 설정
for(int position=0;position<elements.length;position++)
{
//해당하는 값들을 sum에 저장
for(int j=position;j<position+i;j++)
{
sum=sum+elements[j%elements.length];
}
// 합을 answerList에 저장. 중복시 제외
answerList.add(sum);
sum=0;
}
}
answer=answerList.size();
return answer;
}
}반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| [코딩테스트] 프로그래머스 - 진료과별 총 예약 횟수 출력하기(MySQL, Level2) (0) | 2022.11.14 |
|---|---|
| [코딩테스트] 프로그래머스 - 3월에 태어난 여성 회원 목록 출력하기(MySQL, Level2) (0) | 2022.11.13 |
| [코딩테스트] 프로그래머스 - 야간 전술보행(Java, Level2) (0) | 2022.11.11 |
| [코딩테스트] 프로그래머스 - 우박수열 정적분(Java, Level2) (1) | 2022.11.10 |
| [코딩테스트] 프로그래머스 - 게임 맵 최단거리(Java, Level2) (dfs, 실패) (0) | 2022.10.24 |