2중 for문을 사용하면 안될거 같고, 중간에 for문 안에 break가 너무 맘에 안들지만 우선 내 방식대로 풀고 스터디 끝나면 강의를 들어 봐야겠다.
💪 새롭게 배운 내용
🆘 이해가 어려운 내용
알고리즘에서 2중 for문을 사용하면 안되는데 기발한 풀이법이 생각나지 않는다.
❌ 해결하지 못한 이유
✅ 본인 풀이
🏋️♀️ 시도횟수 : 1회 | ⏱ 걸린시간 : 323ms | 💾 메모리 : 33MB
public class ContinuousSubsequence {
static class Main {
public int solution(int M, int[] numbers) {
int answer = 0;
for (int i = 0; i < numbers.length; i++) {
int tmp = numbers[i];
for (int j = i + 1; j < numbers.length; j++) {
tmp += numbers[j];
if (tmp > M) {
break;
}
if (tmp == M) {
answer++;
break;
}
}
}
return answer;
}
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer stringTokenizer = new StringTokenizer(bufferedReader.readLine(), " ");
int N = Integer.parseInt(stringTokenizer.nextToken());
int M = Integer.parseInt(stringTokenizer.nextToken());
int[] numbers = new int[N];
stringTokenizer = new StringTokenizer(bufferedReader.readLine(), " ");
for (int i = 0; i < N; i++) {
numbers[i] = Integer.parseInt(stringTokenizer.nextToken());
}
Main main = new Main();
int result = main.solution(M, numbers);
bufferedReader.close();
bufferedWriter.write(String.valueOf(result));
bufferedWriter.flush();
bufferedWriter.close();
}
}
}
📌 문제
⭐️ 아이디어
🤔 고민한 내용
💪 새롭게 배운 내용
🆘 이해가 어려운 내용
❌ 해결하지 못한 이유
✅ 본인 풀이
🏋️♀️
시도횟수
: 1회 | ⏱걸린시간
: 323ms | 💾메모리
: 33MB참고한 자료