프로그래머스 코딩테스트 연습 입문단계 '중복된 숫자 개수' 문제입니다.
https://school.programmers.co.kr/learn/courses/30/lessons/120583
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
❓문제 설명
정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요.
⚠️ 제한사항 및 입출력 예
- 1 ≤ array의 길이 ≤ 100
- 0 ≤ array의 원소 ≤ 1,000
- 0 ≤ n ≤ 1,000
array (입력) | n (입력) | result (출력) |
[1, 1, 2, 3, 4, 5] | 1 | 2 |
[0, 2, 3, 4] | 1 | 0 |
✏️ 직접 구현한 코드
class Solution {
public int solution(int[] array, int n) {
int cnt = 0;
for(int i = 0; i < array.length; i++) {
if(array[i] == n)
cnt++;
}
return cnt;
}
}
🗣️ 코드 설명
- i가 array의 길이 만큼 반복하는 for문을 만들었습니다.
- for문 안에서, if문을 이용해 array[ i ]가 n과 같을 때만 cnt가 하나 증가하도록 했습니다.
🔥다른 사람의 코드
class Solution {
public int solution(int[] array, int n) {
int answer = 0;
for (int num : array) {
if (num == n) answer++;
}
return answer;
}
}
코드 전체적으로 비슷하긴 하지만, 이 사람은 for each문을 사용했다는 부분에서 차이점이 있습니다.
for each문은 아래서 더 자세히 알아보겠습니다.
⭐ 새롭게 알게 된 점
for each 문 : 주로 배열의 순차적인 반복을 해야할 때 유용하게 쓰인다.
인덱스를 가지고 표현하는 것이 아닌 for문이 도는동안 numbers에서 순서대로 하나씩 꺼내와서 쓰는 방식이다.
for each문은 일반 for문과 조건문의 구조가 다르다.
- 일반 for문은 조건문이 (초기식; 조건식; 증감식)으로 구성되어있지만,
- for each문은 조건문이 (초기식 : 배열 레퍼런스)로 구성되어있다.
다음은 for each문을 이용해 배열의 모든 값을 더하는 코드이다.
// 사용 예
int arr[] = {1,2,3,4,5,6};
int sum = 0;
for(int x : arr)
sum += x;
System.out.println("합계 : "+sum);
합계 : 21
이런 식으로 배열의 값을 순차적으로 사용할 때 많이 사용한다.
'코딩테스트 회고록 > 코테_Java' 카테고리의 다른 글
[JAVA] 프로그래머스 - 양꼬치 (0) | 2023.02.14 |
---|---|
[JAVA] 프로그래머스 - 배열의 평균값 (0) | 2023.02.14 |
[JAVA] 프로그래머스 - 세균 증식 (0) | 2023.02.04 |
[JAVA] 프로그래머스 - 삼각형의 완성조건(1) (0) | 2023.02.01 |
[JAVA] 프로그래머스 - 배열 자르기 (0) | 2023.02.01 |