Lv.0 두 수의 곱 || 처음 풀어본 프로그래머스 문제 - 익숙해지기 연습 시작

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

 

프로그래머스

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

programmers.co.kr

 

백준에서 풀던것처럼

#include <bits/stdc++.h>

을 추가했을때도 제출해도 되는지에 대해서 테스트 해보기 위해서 

처음에 제시해주는 헤더들은 그냥 주석처리 하고, 내가 저렇게 

#include <bits/stdc++.h>를 한뒤에 제출해보았다. 

 

// #include <string>
// #include <vector>
#include <bits/stdc++.h>

using namespace std;

int solution(int num1, int num2) {
    int answer = 0;
    answer=num1*num2;
    return answer;
}

통과하였다. 

// #include <string>
// #include <vector>
#include <bits/stdc++.h>

using namespace std;

int sol(int num1, int num2) {
    int answer = 0;
    answer=num1*num2;
    return answer;
}

일부러 solution 함수의 이름을 바꾸면 어떻게 되나 궁금해서 해보았는데, 통과하지 못하였다.

 solution 함수 명은 변경하면 안되는것 같다. 

 

 

일부러 전역변수에 선언해서 이걸 solution 함수 내에서 리턴하는 형태로 짜보았다. 전역변수를 선언해서 제출하는것이 어떤 영향을 미치는지 확인해보려 만들어보았다. 

// #include <string>
// #include <vector>
#include <bits/stdc++.h>

using namespace std;
int answer;
int solution(int num1, int num2) {
    answer=num1*num2;
    return answer;
}

통과하였다. 

 

 

일부러 내가 추가한 헤더 (전체를 모두 포함한 헤더) 에 있을, iostream을 이용한 cout을 solution 내부에 주입해서

결과를 제출해보았다. 

// #include <string>
// #include <vector>
#include <bits/stdc++.h>

using namespace std;
int answer;
int solution(int num1, int num2) {
    answer=num1*num2;
    cout<<"되나?";
    return answer;
}

통과하였다. 

이 경우 

이와같이 출력문도 실행했을때 <출력> 부분에서 보여주고 테스트를 통과한다. 

 

 

다른 사람의 풀이를 보니까

이런식의 풀이도 보였다. 

solution 함수에 주어지는 매개변수의 이름을 내가 다르게 설정해도 문제가 없는것 같다. 결국에는 return 하는 녀석의 값이 같기만 하다면 문제가 없는것 같다. 

그리고 헤더가 없는 경우도 통과한다. 불필요한 헤더의 경우는 그냥 사용하지 않아도 되는것 같다. 

아무래도 solution 함수를 만들어서 제출하는데, 그때에 solution 함수를 받아서 채점을 할때, 모든 헤더가 다 포함되어 있는

#include <bits/stdc++.h> 상태에서 채점을 하는것이 아닐까 싶기도 하다. 

다음에는 한번 여러가지 헤더들에서 내용이 필요한 것들을 섞어서 제출하고, 대신 헤더들은 추가하지 않고 돌려봐야겠다. 

\++++++++++++++++++++++++++=

 

결국 보니까 제출을 할때, 내가 사용하는 solution 함수에 필요한 헤더가 있다면, 그 헤더를 포함시키고 돌려야 정답을 얻는것 같다. 처음에 cout이 필요한 iostream 헤더가 필요할텐데 그런거 없이 돌리니까 실패했다. 

대신에, 

 이런식으로 특별한 헤더가 필요없이 기본적으로 코드를 작성해서 넘기면 그냥 통과했다. 

다른 문제를 풀때에도 #include <bits/stdc++.h> 헤더만 추가해서 한번 제출해보도록 하자. 

 

'알고리즘 > 프로그래머스' 카테고리의 다른 글

Lv.0 숫자 비교하기  (0) 2023.09.12
Lv.0 두 수의 나눗셈  (0) 2023.09.12
Lv.0 몫 구하기  (0) 2023.09.12
Lv.0 두 수의 차  (0) 2023.09.12
Lv.0 두 수의 합 || 일반적인 형태로 제출해도 통과하는듯.  (0) 2023.09.11
  Comments,     Trackbacks