-
[Python] 선언, 사칙연산, 입출력프로그래밍/Python & Ruby 2020. 3. 3. 15:30
아주 기초적인 프로그래밍 지식이 있으신 분들이라면 이해하실 수 있는 정도의 설명입니다. 군더더기 하나 없어서 필요한 개념마저도 없을 수 있는 설명이니 참고하시기 바랍니다. 그럼 설명 바로 시작합니다. 1. 선언 일반적인 언어에서 선언이라 하면 보통 어떤 자료형으로 선언할지 사용자가 결정합니다. 하지만 파이썬은 자료형을 결정해 줄 필요가 없습니다. 변수명과 값만 적어주면 스스로 자료형을 결정합니다. 그리고 계속해서 등장하겠지만, " # " 뒤에 등장하는 말들은 주석이라고 합니다. # 주석은 프로그래밍에 전혀 영향을 미치지 습니다. 소스코드의 설명을 하기 위해 사용합니다. 자료형의 간단한 설명은 밑에 접어두었습니다. 더보기 자료형은 정수형, 실수형, 문자형 등의 데이터의 형식을 의미합니다. 정수형(int) ..
-
BOJ 15686 : 치킨 배달백준 문제풀이/BRUTE FORCE 2020. 3. 1. 16:43
문제 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸, 왼쪽에서부터 c번째 칸을 의미한다. r과 c는 1부터 시작한다. 이 도시에 사는 사람들은 치킨을 매우 좋아한다. 따라서, 사람들은 "치킨 거리"라는 말을 주로 사용한다. 치킨 거리는 집과 가장 가까운 치킨집 사이의 거리이다. 즉, 치킨 거리는 집을 기준으로 정해지며, 각각의 집은 치킨 거리를 가지고 있다. 도시의 치킨 거리는 모든 집의 치킨 거리의 합이다. 임의의 두 칸 (r1, c1)과 (r2, c2) 사이의 거리는 |r1-r2| + |c1-c2|로 구한다. 예를 들어, 아래와 같은 지..
-
BOJ 5213 : 과외맨백준 문제풀이/GRAPH 2020. 2. 19. 17:22
문제 과외맨은 평소에 서강대학교 학생 이민혁으로 위장하고 있는 한국의 대표적인 영웅이다. 그는 슈퍼 히어로가 너무 미국에 집중되어 있는 현실을 안타까워했고, 그의 절친한 친구인 스파이더맨과 아이언맨에게 한국으로 와서 같이 영웅 활동을 하자는 제안을 했으나 거절당했다. 얼마 전, 오랜 잠에서 깨어난 고대 마야인들이 과외맨이 수업을 듣는 동안 과외 노트를 훔쳐갔다. 과외맨은 빼앗긴 노트를 찾아오기 위해 인천 공항으로 가서 과테말라로 가는 비행기를 탔다. 일단 언어가 통하지 않기 때문에, 과외맨은 자신의 특기를 살려서 일주일간 과테말라에서 스페인어를 과외 받았다. (이하생략) 입력 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 500) 다음 줄부터 N*N-N/2줄(/는 정수 나눗셈이다)에는 두 양의 Ai와 Bi가..
-
BOJ 2143 : 두 배열의 합백준 문제풀이/BRUTE FORCE 2020. 2. 12. 22:35
문제 한 배열 A[1], A[2], …, A[n]에 대해서, 부 배열은 A[i], A[i+1], …, A[j-1], A[j] (단, 1 ≤ i ≤ j ≤ n)을 말한다. 이러한 부 배열의 합은 A[i]+…+A[j]를 의미한다. 각 원소가 정수인 두 배열 A[1], …, A[n]과 B[1], …, B[m]이 주어졌을 때, A의 부 배열의 합에 B의 부 배열의 합을 더해서 T가 되는 모든 부 배열 쌍의 개수를 구하는 프로그램을 작성하시오. 예를 들어 A = {1, 3, 1, 2}, B = {1, 3, 2}, T=5인 경우, 부 배열 쌍의 개수는 다음의 7가지 경우가 있다. 입력 첫째 줄에 T(-1,000,000,000 ≤ T ≤ 1,000,000,000)가 주어진다. 다음 줄에는 n(1 ≤ n ≤ 1,000..
-
[C++] 카카오 코딩테스트 < 길 찾기 게임 > 문제풀이백준 문제풀이/etc 2020. 2. 9. 16:30
풀이 바로 본론으로 갑시다. 여기로 가시면 문제를 풀어보실 수 있습니다. 문제를 읽어보니 전무로 승진한 라이언이 사원들을 위해서 무언가 엄청 분석하고 있습니다. 하지만, 문제에서 요구하는 것은 간단합니다. 기본적인 트리를 구현하고 전위순회와 후위 순회를 수행해라. 트리 구현이 필수적인 경우엔 반드시 필요한 요소만을 구현할 필요가 있습니다. 기본적으로 자료구조에서 배운 트리는 Value 값만을 갖고 왼쪽 자식, 오른쪽 자식을 구별합니다. 저는 이 문제를 해결하기 위해 TreeNode 의 멤버 변수로 x, y, value 를 사용했습니다. y 는 상대적인 depth 를 의미합니다. x 는 크기를 비교하는 key 값이 됩니다. value는 실질적으로 답이 되는 값입니다. Tree 의 구현은 자료구조 개념과 같..
-
BOJ 13460 : 구슬 탈출 2백준 문제풀이/BRUTE FORCE 2020. 2. 6. 13:43
문제 스타트링크에서 판매하는 어린이용 장난감 중에서 가장 인기가 많은 제품은 구슬 탈출이다. 구슬 탈출은 직사각형 보드에 빨간 구슬과 파란 구슬을 하나씩 넣은 다음, 빨간 구슬을 구멍을 통해 빼내는 게임이다. 보드의 세로 크기는 N, 가로 크기는 M이고, 편의상 1×1크기의 칸으로 나누어져 있다. 가장 바깥 행과 열은 모두 막혀져 있고, 보드에는 구멍이 하나 있다. 빨간 구슬과 파란 구슬의 크기는 보드에서 1×1크기의 칸을 가득 채우는 사이즈이고, 각각 하나씩 들어가 있다. 게임의 목표는 빨간 구슬을 구멍을 통해서 빼내는 것이다. 이때, 파란 구슬이 구멍에 들어가면 안 된다. 이때, 구슬을 손으로 건드릴 수는 없고, 중력을 이용해서 이리 저리 굴려야 한다. 왼쪽으로 기울이기, 오른쪽으로 기울이기, 위쪽으..
-
BOJ 14391 : 종이 조각백준 문제풀이/BRUTE FORCE 2020. 1. 30. 15:05
문제 영선이는 숫자가 쓰여 있는 직사각형 종이를 가지고 있다. 종이는 1×1 크기의 정사각형 칸으로 나누어져 있고, 숫자는 각 칸에 하나씩 쓰여 있다. 행은 위에서부터 아래까지 번호가 매겨져 있고, 열은 왼쪽부터 오른쪽까지 번호가 매겨져 있다. 영선이는 직사각형을 겹치지 않는 조각으로 자르려고 한다. 각 조각은 크기가 세로나 가로 크기가 1인 직사각형 모양이다. 길이가 N인 조각은 N자리 수로 나타낼 수 있다. 가로 조각은 왼쪽부터 오른쪽까지 수를 이어 붙인 것이고, 세로 조각은 위에서부터 아래까지 수를 이어붙인 것이다. 아래 그림은 4×4 크기의 종이를 자른 한 가지 방법이다. 각 조각의 합은 493 + 7160 + 23 + 58 + 9 + 45 + 91 = 7879 이다. 종이를 적절히 잘라서 조각의..
-
BOJ 1182 : 부분집합의 합백준 문제풀이/BRUTE FORCE 2020. 1. 29. 16:42
문제 N개의 정수로 이루어진 수열이 있을 때, 크기가 양수인 부분수열 중에서 그 수열의 원소를 다 더한 값이 S가 되는 경우의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. 출력 첫째 줄에 합이 S가 되는 부분수열의 개수를 출력한다. 풀이 아래의 코드에서 틀린점을 찾아보세요. void go(int index, long long sum) { if (sum == s) { ans++; return ; } if (index >= n) { return; } go(index + 1, sum + a..