skinOptions.hljs
백준 / 10844번 쉬운 계단 수 - dp / Python 파이썬
·
coding test - python/백준
*문제 출처는 백준에 있습니다. 문제 제목: 10844번 쉬운 계단 수 문제 사이트: https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 256 MB 126406 40201 29096 30.082% 문제 45656이란 수를 보자. 이 수는 인접한 모든 자리의 차이가 1이다. 이런 수를 계단 수라고 한다. N이 주어질 때, 길이가 N인 계단 수가 총 몇 개 있는지 구해보자. 0으로 시작하는 수는 계단수가 아니다. 입력 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 100보다 작거나 같은 자연수이다. 출력..
백준 / 1068번 트리 -dfs / Python 파이썬
·
coding test - python/백준
*문제 출처는 백준에 있습니다. 문제 제목: 1068번 트리 문제 사이트: https://www.acmicpc.net/problem/1068 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 128 MB 44973 12703 9717 28.123% 문제 입력 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 ..
백준 / 9184번 신나는 함수 실행 - dp / Python 파이썬
·
coding test - python/백준
*문제 출처는 백준에 있습니다. 문제 제목: 9184번 신나는 함수 실행 - dp 문제 사이트: https://www.acmicpc.net/problem/9184 9184번: 신나는 함수 실행 입력은 세 정수 a, b, c로 이루어져 있으며, 한 줄에 하나씩 주어진다. 입력의 마지막은 -1 -1 -1로 나타내며, 세 정수가 모두 -1인 경우는 입력의 마지막을 제외하면 없다. www.acmicpc.net 한국어 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 36902 16132 12098 41.988% 문제 재귀 호출만 생각하면 신이 난다! 아닌가요? 다음과 같은 재귀함수 w(a, b, c)가 있다. if a 20, then w(a, b, c) returns: w(20, 20, 20) ..
[기초] 함수와 클래스 구현하기 / C++
·
C++/기초
C++에서 함수와 클래스를 구현하는 방법에 대해 간단히 알아보겠습니다. 함수 구현하기 C++에서 함수를 구현하는 방법은 아래와 같습니다. 반환타입 함수이름(매개변수1, 매개변수2, ...) { // 함수의 내용 } 간단한 덧셈 함수를 구현해보면 다음과 같습니다. int sum(int a, int b) { return a + b; } 위의 예제에서 sum 함수는 두 개의 int 타입 매개변수를 받아서, 이를 더한 값을 return 합니다. 함수를 호출하는 방법은 아래와 같습니다. int result = sum(3, 5); // 8 클래스 구현하기 C++에서 클래스를 구현하는 방법은 아래와 같습니다. class 클래스이름 { public: // 멤버 변수 선언 int x; int y; // 생성자 클래스이름..
[기초] 해시 구현하기 (unordered) / C++
·
C++/기초
해시 값 추가, 삭제, 변경하기 C++에서 해시를 구현하는 방법은 여러가지가 있지만, 가장 일반적인 방법은 STL의 unordered_map을 사용하는 것입니다. 1. 헤더파일 #include unordered_map은 해시 테이블로 구현되어 있어서, 키와 값을 저장하고 검색하는 데 빠른 속도를 가지고 있습니다. 2. 해시 선언 unordered_map mymap; 3. 값 추가 hash[key] = values; 4. 값 삭제 hash.erase(key); 5. 값 변경 hash[key] = diff_values; 6. 값 찾기 hash[key]; hash.find(key) : 해당 키값이 해시맵안에 있으면 해당 값 반환, 없으면 해시맵의 가장 마지막에 있는 키반환 find 로 찾은 키에 대해 valu..
[기초] 배열 다루기 (vector 로 원소 추가, 삭제, 수정) / C++
·
C++/기초
값 추가 / 삭제 C++에서 배열에 값을 추가하거나 삭제하는 방법은 크게 두 가지로 나뉩니다. 1. 동적 배열 (Dynamic Array) 동적 배열은 배열의 크기를 변경할 수 있는 배열입니다. 배열의 크기를 동적으로 할당 및 해제할 수 있습니다. 동적 배열은 C++에서는 vector 클래스를 이용하여 구현할 수 있습니다. 값 추가 push_back 값 삭제 pop_back : 마지막 요소 삭제 erase : 인덱스 번호 지정해서 삭제 #include using namespace std; vector v; // int형 벡터 생성 // 벡터에 값을 추가하는 방법 v.push_back(1); v.push_back(2); v.push_back(3); // 벡터에서 값을 삭제하는 방법 v.pop_back();..
[기초] 대소문자 변환 - 문자열 / C++
·
C++/기초
C++에서 대소문자 변환하는 방법 1. C++ 내장 함수 사용 C++에는 toupper와 tolower라는 내장 함수가 있어 대소문자 변환을 쉽게 할 수 있습니다. 각 함수는 아래와 같은 형태를 갖습니다. int toupper(int c); int tolower(int c); 위 함수들은 인자로 받은 문자 c가 대소문자이면 대문자나 소문자로 변환한 값을 반환하며, 그렇지 않으면 c를 그대로 반환합니다. 예를 들어, 아래 코드는 문자열 str에서 모든 소문자를 대문자로 변환합니다. #include #include #include using namespace std; int main() { string str = "Hello, World!"; transform(str.begin(), str.end(), st..
Programmers / 배열의 평균값 (0단계) / C++
·
coding test - C++/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 배열의 평균값 (0단계) 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120817 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 배열의 평균값 문제 설명 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ numbers의 원소 ≤ 1,000 1 ≤ numbers의 길이 ≤ 100 정답의 소수 부분이 .0 또는 .5인 경우만 입력으로..
Programmers / 짝수의 합 (0단계) / C++
·
coding test - C++/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 짝수의 합 (0단계) 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120831 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 짝수의 합 문제 설명 정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요. 제한사항 0
Programmers / 몫 구하기 (0단계) / C++
·
coding test - C++/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 몫 구하기 (0단계) 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120805?language=cpp 코딩테스트 연습 - 몫 구하기 정수 num1, num2가 매개변수로 주어질 때, num1을 num2로 나눈 몫을 return 하도록 solution 함수를 완성해주세요. 제한사항 0 < num1 ≤ 100 0 < num2 ≤ 100 입출력 예 num1 num2 result 10 5 2 7 2 3 입출력 예 설명 입 school.programmers.co.kr 몫 구하기 문제 설명 정수 num1, num2가 매개변수로 주어질 때, num1을 num2로 나눈 몫을 return 하도록 ..
[기초] 네임스페이스(namespace) 선언 /C++
·
C++/기초
네임스페이스(namespace) C++에서 네임스페이스(Namespace)는 변수, 함수, 클래스 등의 이름을 격리시키는 기능을 제공하는 논리적인 영역입니다. 즉, 네임스페이스를 사용하면 이름 충돌을 방지하고, 다른 모듈과 협업할 때 함수나 클래스의 이름이 충돌하는 것을 방지할 수 있습니다. C++에서는 namespace 키워드를 사용하여 네임스페이스를 정의하고, :: 연산자를 사용하여 네임스페이스 안에 있는 변수, 함수, 클래스 등에 접근할 수 있습니다. namespace MyNamespace { int myVar; void myFunc(); class MyClass {}; } int main() { MyNamespace::myVar = 42; // MyNamespace 네임스페이스에 있는 myVar ..
Programmers / 숫자 비교하기 (0단계) / C++
·
coding test - C++/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 숫자 비교하기 (0단계) 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120807 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 숫자 비교하기 문제 설명 정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 retrun하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ num1 ≤ 10,000 0 ≤ num2 ≤ 10,000 입출력 예num1num2result 2 3 -1 11 11 1 7 9..