Jaeyoung Kim
나의 개발 공부 일지
Jaeyoung Kim
전체 방문자
오늘
어제
  • 분류 전체보기 (77)
    • WIL👨‍🏫 (16)
    • 🤖Algorithm (29)
    • 🖥CS (20)
      • 기술면접대비🔎 (10)
    • ✍️개발로그 (10)

블로그 메뉴

  • 홈
  • 방명록
  • 글쓰기
  • 설정

공지사항

인기 글

태그

  • sql
  • transaction
  • HTTP
  • querydsl
  • 트랜잭션
  • 프로그래머스
  • WIL
  • 데이터자료구조
  • SQLD
  • 항해99
  • til
  • N-gram parser
  • 자바
  • 개발로그
  • 백준2920
  • Java
  • rest
  • API
  • 회고록
  • 백준

최근 댓글

최근 글

티스토리

250x250
hELLO · Designed By 정상우.
Jaeyoung Kim

나의 개발 공부 일지

[프로그래머스] 문자열 다루기 기본 Java
🤖Algorithm

[프로그래머스] 문자열 다루기 기본 Java

2022. 7. 21. 11:36
728x90

문자열 다루기 기본


문제 설명

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요.

예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.


제한 사항

  •  s 는 길이 1 이상, 길이 8 이하인 문자열입니다.

입출력 예

s return
"a234" false
"1234" true

기본코드

class Solution {
    public boolean solution(String s) {
        boolean answer = true;
        return answer;
    }
}

문제풀이

첫 번째 조건, 문자열 s의 길이가 4나 6이 아닐 경우 boolean answer = false로 return하는 것은 간단하게 구현하였다.

 

문제는 다음이었다. 문자인지 숫자인지 확인하는 방법을 알지 못하였다.

일단은 문자일경우 0보다 크거나 같지 않으면 되지 않을까?해서 다음과 같이 코드를 작성하였으나

당연히 실패

class Solution {
    public boolean solution(String s) {
        boolean answer = true;
        
        answer = (s.length() != 4 && s.length() != 6) ? false : true;
        
        
        int a = 0;
        for(int i = 0; i<s.length(); i++){
            if(s.charAt(i) >= 0 ){
                a = 0;
            }else{
                a++;
            }
        }
        System.out.println(a);
        
        if(a > 0){
            answer = false;
        }
        
        return answer;  

    }
}

내 생각과 정 반대였다.

문자 또한 디지털화 시키면 숫자로 변환되는 법,

 

문자인지 확인하기 위해서는 for문을 돌며 내부에 조건문으로 해당 값이 0보다 작거나 || 9보다 큰지 확인하면 되었다.

더보기

for(int i = 0 ; i < s.length(); i++){

          //charAt()으로 떼어내면 char 타입으로 읽히기에 ' '(작은따옴표)로!
            if(s.charAt(i) < '0' || s.charAt(i) > '9'){
                return false;
            }
        }

이 부분만 알고 있다면 쉽게 해결 가능했을 문제였다.


Solution.java

class Solution {
    public boolean solution(String s) {
        if(s.length() != 4 && s.length() != 6) return false;
        
        for(int i = 0 ; i < s.length(); i++){
            if(s.charAt(i) < '0' || s.charAt(i) > '9'){
                return false;
            }
        }
        return true;
    }
}
728x90

'🤖Algorithm' 카테고리의 다른 글

[백준] 10171 고양이 Java  (0) 2022.07.25
[프로그래머스] 서울에서 김서방 찾기 Java  (0) 2022.07.21
[프로그래머스] 문자열 내 p와 y의 개수 Java  (0) 2022.07.21
[프로그래머스] 자릿수 더하기 Java  (0) 2022.07.19
[프로그래머스] 완주하지 못한 선수 Java  (0) 2022.07.19
    '🤖Algorithm' 카테고리의 다른 글
    • [백준] 10171 고양이 Java
    • [프로그래머스] 서울에서 김서방 찾기 Java
    • [프로그래머스] 문자열 내 p와 y의 개수 Java
    • [프로그래머스] 자릿수 더하기 Java
    Jaeyoung Kim
    Jaeyoung Kim
    보다 안정적인 코드 구현을 꿈꾸는 백엔드 개발자 지망생

    티스토리툴바