기록 보관소

[프로그래머스] Lv.1 문제 PART 9(C++) 본문

코딩 테스트/프로그래머스

[프로그래머스] Lv.1 문제 PART 9(C++)

JongHoon 2024. 5. 15. 20:47

프로그래머스 코딩 테스트 : Lv.1 문제(C++)

https://school.programmers.co.kr/learn/challenges?order=acceptance_desc&page=2&languages=cpp&levels=1

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr


프로그래머스 Lv.1 문제 : 문자열 다루기 기본

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

 

프로그래머스

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

programmers.co.kr


문제 설명

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

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


제한사항

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.
  • s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.

입출력 예

입출력 예


코드

#include <string>
#include <vector>
#include <cctype>

using namespace std;

bool solution(string s) {
    if (s.size() != 4 && s.size() != 6)
        return false;
    
    for (auto c : s)
        if (!isdigit(c))
            return false;
    
    return true;
}

결과


프로그래머스 Lv.1 문제 : 행렬의 덧셈

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

 

프로그래머스

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

programmers.co.kr


문제 설명

행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다.

2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.


제한사항

  • 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.

입출력 예

입출력 예


코드

#include <string>
#include <vector>

using namespace std;

vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2) {
    vector<vector<int>> answer;
    
    for (int i = 0; i < arr1.size(); i++) {
        vector<int> temp;
        for (int j = 0; j < arr1[0].size(); j++)
            temp.push_back(arr1[i][j] + arr2[i][j]);
        answer.push_back(temp);
    }
    
    return answer;
}

결과


프로그래머스 Lv.1 문제 : 직사각형 별찍기

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

 

프로그래머스

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

programmers.co.kr


문제 설명

이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.


제한사항

  • n과 m은 각각 1000 이하인 자연수입니다.

입출력 예

입출력 예


코드

#include <iostream>

using namespace std;

int main(void) {
    int a, b;
    cin >> a >> b;
    
    for (int i = 0; i < b; i++) {
        for (int j = 0; j < a; j++)
            cout << "*";
        cout << "\n";
    }
    
    return 0;
}

결과


여담

이번 문제들도 쉬웠다.

다만 첫 번째 문제 '문자열 다루기 기본' 문제를 대충 입출력 예만 보고 조건 중 하나인 문자열 길이 4 혹은 6을 인지 못한채로 제출했다가 한번 틀렸었다.