본문 바로가기

알고리즘/[프로그래머스]Lv.1

[프로그래머스]Lv1. 문자열 다루기

본 페이지는 C++ 독학을 위해 작성한 포스트입니다 풀이과정도 포함되어있지만 문법공부에 대한 비중이 있습니다.
(+  Java언어 내용도 포함되어있습니다. )

 

https://school.programmers.co.kr/learn/courses/30/lessons/12918?language=java 

 

프로그래머스

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

programmers.co.kr

 

 

1.문제설명

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.

 

2. 문제해결 접근

  • 해당 문제에는 두개의조건이 존재한다. 각 조건문을 중첩하여 접근할 수 있다.
  • 1. 문자열의 길이가 4or6이고
  • 2. 숫자로만 구성이 되어있는가

 

3.답안 : [언어 : java]

class Solution {
    public boolean solution(String s) {
        boolean answer = false;
        // 문자열 길이가 4또는 6
        if( s.length() == 4 || s.length() == 6  ) {
			// 숫자로만 구성되어있는지?
			for (int i = 0; i < s.length(); i++) {
				if( s.charAt(i) <'0' || s.charAt(i) >'9' ) {
					answer = false;
					break;
				}else {
					answer = true;
				}
			}
		}
		
        return answer;
    }
}

 

4. C++ 답안

#include <string>
#include <vector>
#include <iostream>

using namespace std;

bool solution(string s) {
    if (s.length() != 4 && s.length() != 6)
        return false;
    for (int i = 0; i < s.length(); i++) {
        if (s[i] < 48 || s[i] > 57)
            return false;
    }
    return true;
}


int main(){

    cout << solution("a234");


    return 0;
}

 

 

 

5. C++ 문법 설명과 표현법