C++ 05 : 접근 지정자, 인라인 함수 접근 지정자 클래스 내에 선언되는 private, public, protected를 가리킴. 주로 멤버 변수에 대한 접근을 어느 범위까지 허용할 것인지를 지정할 수 있다. private (디폴트 값) : 동일한 클래스 내부에서만 접근을 허용 public : 클래스 내/외부 모두에서 접근을 허용 protected : 클래스 내부 및 상속받은 자식 클래스에 대해서도 접근 허용 이런 방식으로 다른 클래스나 객체에서 함부로 접근할 수 없도록 보호하는 것을 캡슐화라고 한다. #include using namespace std; class Abc { private: int a; void f(); Abc(); // 생성자 public: int b; Abc(int x); vo..
[파이썬] 백준 2644 : 촌수계산 2644번: 촌수계산 (acmicpc.net) 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net 실버 2 그래프, BFS, DFS 접근 노드별로 방문처리를 계층적으로 한다. 첫번째 예제에서 7과 3 두 사람의 촌수를 나타내기를 요구했으므로 bfs탐색 시 7을 인수로 주도록 한다. 코드 (bfs) import sys; input = sys.stdin.readline from collections import deque def bfs(node): queue ..
C++ 03 : 문자열 연산과 문자열 비교 1. 문자열 연산 자바에서는 숫자 + 문자열 연산이 가능하나, C++에서는 문자(열)끼리의 + 연산만 가능하다. #include using namespace std; int main() { string s1("abc"); // string 헤더파일 대부분 내용이 iosteam에 포함되므로 string헤더파일을 굳이 선언하지 않아도 됨 string s2("def"); cout
[파이썬] 백준 5567 : 결혼식 5567번: 결혼식 (acmicpc.net) 5567번: 결혼식 예제 1의 경우 2와 3은 상근이의 친구이다. 또, 3과 4는 친구이기 때문에, 4는 상근이의 친구의 친구이다. 5와 6은 친구도 아니고, 친구의 친구도 아니다. 따라서 2, 3, 4 3명의 친구를 결혼식에 초대 www.acmicpc.net 실버 2 그래프, BFS, DFS 접근 예제 1을 도식화하면 다음과 같다. 친구의 친구까지만 초대가 되므로 2, 3, 4번 친구까지가 범위에 해당될 것이다. 기존의 bfs방식은 방문한 정점과 그렇지 않은 정점을 1, 0 (또는 True, False)로 구분하기 때문에 친구의 친구와(4번) 친구의 친구의 친구(5번)를 구별할 수가 없다. 따라서 방문한 번호를 다르게 주는..
[python] 백준 4963 : 섬의 개수 4963번: 섬의 개수 (acmicpc.net) 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net 실버 2 그래프, DFS, BFS 접근 좌표를 이동하면서 bfs를 탐색하는 문제를 풀어봤다면 쉽게 풀 수 있는 문제이다. 1은 땅이고 0은 바다이므로, 1을 찾아낼 때 덱에 값을 넣고, 1을 0으로 바꿔 방문처리를 한다. 탐색이 끊기면 사면이 바다인 것이므로 섬의 개수를 카운트하도록 한다. 코드 import sys; input = sys.stdin.readline ..