코딩테스트 회고록/코테_Java

[JAVA] 프로그래머스 - 7의 개수

2023. 3. 20. 23:31
목차
  1. ❓ 문제 설명
  2. ⚠️ 제한사항 및 입출력 예시
  3. 🔍 알고리즘 구상
  4. ✏️ 직접 구현한 코드
  5. 🗣️ 코드 설명
  6. ⭐ 기억하고 넘어갈

프로그래머스 코딩테스트 연습 입문단계 '7의 개수' 문제입니다.

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

 

프로그래머스

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

programmers.co.kr


❓ 문제 설명

머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요.

 

※ 아래 입출력 예시를 참고하세요!


⚠️ 제한사항 및 입출력 예시

  • 1 ≤ array의 길이 ≤ 100
  • 0 ≤ array의 원소 ≤ 100,000

입출력 예시 ▼

 

입력 (array 배열)

[7,77,17]

출력 (return 값)

4
// [7, 77, 17]에는 7이 4개 있으므로 4를 return 합니다.

🔍 알고리즘 구상

  • array 배열을 문자열로 바꾼다

ex) "77717"

  • substring() 로 문자열을 하나씩 자르고
  • equals() 메서드를 이용해 "7"과 바꾼 문자열을 비교한다
  • "7"과 바꾼 문자열이 같다면 cnt의 값에 1을 더한다

✏️ 직접 구현한 코드

import java.util.*;

class Solution {
    public int solution(int[] array) {
        String answer = Arrays.toString(array);
        int cnt = 0;
        for(int i = 0; i < answer.length()-1; i++) {
            if(answer.substring(i,i+1).equals("7")) {
                cnt++;
            }
        }
        return cnt;
    }
}

🗣️ 코드 설명

  • 매개변수로 받은 array 배열을 Arrays 클래스 toString() 메서드를 이용해 answer에 문자열로 넣습니다.
  • 7의 개수를 저장할 cnt를 생성합니다.
  • i가 문자열 answer의 길이 -1의 값 만큼 증가하며 반복하는 반복하는 for문을 만들고, 그 안에서 문자열 answer의 값을 substring() 메서드로 자른 다음, 문자열 "7"과 비교해 7이라면 cnt에 1을 더합니다.

⭐ 기억하고 넘어갈

  • Arrays 클래스의 toString() 메서드
  • substring() 메서드 사용

 

String 변환하는 여러 방법

 

< 배열을 문자열로 >

Arrays.toString(배열)

 

< char배열을 문자열로 >

String.valueOf(배열)

new Stirng(배열)

 

< 문자열을 char배열로 >

문자열.toCharArray()

'코딩테스트 회고록 > 코테_Java' 카테고리의 다른 글

[JAVA] 메서드 - replace(), replaceAll()  (1) 2023.03.25
[JAVA] 프로그래머스 - 중복된 문자 제거  (0) 2023.03.23
[JAVA] 프로그래머스 - 합성수 찾기  (0) 2023.03.17
[JAVA] 프로그래머스 - 가까운 수  (0) 2023.03.11
[JAVA] 프로그래머스 - 배열 회전시키기  (0) 2023.03.07
  1. ❓ 문제 설명
  2. ⚠️ 제한사항 및 입출력 예시
  3. 🔍 알고리즘 구상
  4. ✏️ 직접 구현한 코드
  5. 🗣️ 코드 설명
  6. ⭐ 기억하고 넘어갈
'코딩테스트 회고록/코테_Java' 카테고리의 다른 글
  • [JAVA] 메서드 - replace(), replaceAll()
  • [JAVA] 프로그래머스 - 중복된 문자 제거
  • [JAVA] 프로그래머스 - 합성수 찾기
  • [JAVA] 프로그래머스 - 가까운 수
iamjisu
iamjisu
글 솜씨는 없지만 한 글자 한 글자 정성을 다해, 새롭게 배운 것을 정리하고 공부하는 코딩 성장 일기!!
iamjisu
지수의 코딩 발자국
iamjisu
전체
오늘
어제
github 링크
  • 카테고리
    • 개념정리
      • CS
      • MySQL
      • JavaScript
      • Kotlin
      • Java
      • NodeJS
      • Android
    • 코딩테스트 회고록
      • 코테_Java
      • 코테_C언어
    • 오류해결

최근 글

최근 댓글

hELLO · Designed By 정상우.
iamjisu
[JAVA] 프로그래머스 - 7의 개수
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.