본문 바로가기

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

[프로그래머스]Lv0. 두 수의 합

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

 

 

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

 

프로그래머스

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

programmers.co.kr

 

1.문제설명

정수 num1과 num2가 주어질 때, num1과 num2의 합을 return하도록 soltuion 함수를 완성해주세요.

 

2. 문제해결 접근

  • 산술연산 문법으로 아주 쉽게 풀수 있는 문제이다.
  • C++의 문법차이와, log찍는 법에 대해 확인해 적용한다.
  • 정의한 클래스를 이용해 결과를 출력하는 문법을 확인한다.

 

3.답안 : [언어 : Java ]

class Solution {
    public int solution(int num1, int num2) {
        int answer = 0;
        answer = num1 + num2;
        return answer;
    }
}

 

4. C++ 답안

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

// std라는 이름의 namespace를 시용한다.
// std에는 기본 라이브러리가 포함되어있다.
using namespace std;

int solution(int num1, int num2) {
    int answer = -1;
    answer = num1 + num2;
    return answer;
}
// main함수는 프로그램의 시작점이다.
// int형으로 선언하는것이 표준이며 return 0으로 프로그램 종료를 선언한다.
int main(){
    // 답을 저장할 result변수를 선언한다
    int result = solution(3,5);

    //C++ 출력문, std에서 cout를 사용한다.
    std::cout << result;   // 8

    return 0;
}

 

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

5_1) 메인메서드와 메서드 호출

main 함수는 C++ 프로그램의 시작점으로, 모든 프로그램은 하나의 시작점만을 가지고 있으므로, main함수는 언제나 하나만 존재해야한다.

만약, main 함수가 없다면 프로그램을 시작할 수 없다.

main함수는프로그램의시작 인자를 넘겨줄 수 있는데, 이것을 이용하면 프로그램이 시작하면서 사용자에게 입력값을 받을 수 있다.

C++ 에서는 main()를 int형이 표준으로 선언한다.

C++에서는 return 0이 반환되었 때 프로그램이 확정적으로 종료된다.

 

표현법

매개변수가 없는 main함수로 표현한다.

int main()
{

 return 0;
}

 

https://int-i.github.io/cpp/2020-05-02/main/

 

C/C++ 표준 main 함수 - 인하대학교 인트아이

main 함수는 C/C++ 프로그램의 시작점으로, 모든 프로그램은 하나의 시작점만 가지고 있어야 하므로 main 함수는 언제나 하나만 존재해야 한다. 만약 main 함수가 ...

int-i.github.io

 

https://eskeptor.tistory.com/118

 

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 16 [함수]

 제 16강) 함수 오늘은 정말 정말 중요한 시간입니다. 바로 함수에 대해서 배우는 시간이기 때문이죠.  함수란? (출처 : C Primer Plus) 함수(Function)는 어떤 특정 업무를 처리하도록 설계된 프로그

eskeptor.tistory.com

 

 

5_2) 출력문 

C++에서, 특정 문구나 함수의 결과값을 출력하고자 할 때,

std 네임스페이스에 속한 cin, cout 객체를 이용할 수 있다. 해당 객체는 <iostream> 클래스 내의 인스턴스를 사용한다.

 

std::cout  으로 출력문을 시작하고

꺽쇠(<<) 를 이용하여 출력할 내용을 지정한다

std::endl 을 이용하여 출력문을 종료하여 줄 바꿈을 실행한다.

std::cout << "출력할 문자열" or 변수명  << std::endl;

//출력문 선언 <<            내용	        << 줄바꿈
표현법
include <iostream>
int main()
{
    std::cout << "Hello World";	//Hello World
    std::cout << 10 << std::endl;	// 10
    std::cout << 10.5 << std::endl;	// 10.5
    std::cout << 10.3f << std::endl;	//10.3
	
    std::cout << "변수에 저장된 값은 = " << x;	// 변수에 저장된 값은 = 10
    
    return 0;
}

 

 

https://coding-factory.tistory.com/479

 

 

[C++] 입력문 / 출력문 (cin, cout) 사용법 & 예제

C언어에서는 에 있는 scanf, printf를 통해서 입출력문을 사용합니다. 물론 C++에서도 scanf, printf를 통해서 입력, 출력을 할수도 있지만 C++의 표준 입력 및 출력은 cin, cout를 사용합니다. std 네임스페

coding-factory.tistory.com

 

 

5_3)  namespace std;

기본코드로 포함되어있는 

using namespace std;

관련내용을 직역하면 std라는 이름의 namespace를 시용한다.는 뜻이다.

C++은은 표준 라이브러리의 모든 기능을 std namespace라는 특별한 영역으로 옮겼다.

std

std는 "standard(표준)"의 약자로 클래스로서 cout, cin, endl등의 자주 사용되는 함수들이 정의되어있다.

그래서 위와같이 표준라이브러리를 사용하기 위해서는 std:: 붙인다.

 

namespace

모든 식별자가 고유하도록 보장하는 코드 영역을 정의합니다. '소속'의 개념 

namespace는 어떤 변수나 함수의 소속을 알려주는 기능

namespace를 지정하여 동일한 변수명이라 하더라도, 각각의 독립된 지역변수로서 구분하여 사용할 수 있다.

#include <iostream> 
namespace A
{
	int Num = 100;
}
namespace B
{ 
	int Num = 200;
} 

using namespace A;
using namespace B; 

int main()
{ 
	int Num = 300;
	std::cout << "main Num : " << Num << std::endl; 
	std::cout << "A Num : " << A::Num << std::endl;
	std::cout << "B Num : " << B::Num << std::endl; 
	
	return 0; 
}

 

https://welikecse.tistory.com/33

 

네임스페이스(namespace)란? std란?

C++을 맨 처음 배울 때 기계처럼 치던 코드중 하나가 using namespace std;였다. 그때 당시 이 코드 한줄이면 cout을 사용할 때 불편하게 std::를 붙이지 않아도 돼서 무조건 썼는데 사실 현업에선 이렇게

welikecse.tistory.com

 

 

https://gdnn.tistory.com/161

 

[C++ 독학하기] 1. std, namespace, cout의 개념

안녕하세요. 취업한 공대누나입니다. C언어나 C++나 처음 책을 펴게 되면 또는 처음 공부하게 되면 대게 Hello World!를 출력하는 예제를 접합니다. C언어에서는 printf() 함수를 이용해서 Hello World를

gdnn.tistory.com