공부 및 정리

    [C++]백준 - 14500번 문제

    14500번: 테트로미노 (acmicpc.net) 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net 14500번 : 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변끼리 연결되어 있어야 한다. 즉, 꼭짓점과 꼭짓점만 맞닿아 있으면 안 된다. 정사각형 4개를 이어 붙인 폴리오미노는 테트로미노라고 하며, 다음과 같은 5가지가 있다. 아름이는 크기가 N×M인 종이 위에..

    [C++]백준 - 1358번 문제

    1358번: 하키 (acmicpc.net) 1358번: 하키 첫째 줄에 수 W H X Y P가 주어진다. P는 선수의 수이다. W와 H는 100보다 작거나 같은 자연수이고, H는 짝수이다. X와 Y는 절댓값이 100보다 작거나 같은 정수이다. P는 최대 50인 자연수이다. 둘째 줄부 www.acmicpc.net 1358번 : 하키 지난주에, 민식주식회사는 IIHF(International Ice Hockey Federation)로부터 긴급한 전화를 받았다. IIHF는 같은 팀이 링크안에 너무 많으면 알람이 울리는 시스템을 설치해달라고 요청했다. 시스템은 다음과 같이 3개의 부분으로 이루어진다. 디지털카메라가 링크의 사진을 매 1초마다 찍는다. 디지털카메라가 찍은 사진에서 각 선수의 위치를 뽑아낸다. 하키..

    [C++]백준 - 10815번 문제

    10815번: 숫자 카드 (acmicpc.net) 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 10815번 : 숫자 카드 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다..

    [C++]백준 - 1790번 문제

    1790번: 수 이어 쓰기 2 (acmicpc.net) 1790번: 수 이어 쓰기 2 첫째 줄에 N(1 ≤ N ≤ 100,000,000)과, k(1 ≤ k ≤ 1,000,000,000)가 주어진다. N과 k 사이에는 공백이 하나 이상 있다. www.acmicpc.net 1790번 : 수 이어쓰기 2 1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다. 1234567891011121314151617181920212223... 이렇게 만들어진 새로운 수에서, 앞에서 k번째 자리 숫자가 어떤 숫자인지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 100,000,000)과, k(1 ≤ k ≤ 1,000,000,000)가 주어진다. N과 k 사이에는 공백이 하나 이상..

    C++의 기초 - 3

    * 제가 보기 편하기 위해 작성하는 메모이므로, 누락된 내용이 있을 수 있습니다. 누락된 내용은 제가 이미 숙지하였기 때문이거나 다른 이유로 누락될 수 있습니다. * 자동 공간, 정적 공간, 동적 공간 - C++은 데이터 저장을 대입 방법에 따라 자동 공간, 정적 공간, 동적 공간으로 구분합니다. - 각각 실제 메모리 구조에서 스택, 데이터, 힙에 저장됩니다. 1. 자동 공간 - 함수 안에서 정의 되는 보통의 변수들을 자동 변수라고 합니다. - 자동 변수들은 블록 안에서만 유효합니다. int main() { int A = 6; { int B = 7; } //B 소멸 printf("%d", B); // -> 불가능 return 0; }//A 소멸 - {}로 묶인 공간을 블록이라고 합니다. - 자동 공간은 ..

    C++의 기초 - 2

    * 제가 보기 편하기 위해 작성하는 메모이므로, 누락된 내용이 있을 수 있습니다. 누락된 내용은 제가 이미 숙지하였기 때문이거나 다른 이유로 누락될 수 있습니다. * 데이터 처리 - 데이터는 사실 기본형과 복합형이 있습니다. 1. 기본형 데이터 : 정수형과 부동소수점형을 의미합니다. 2. 복합형 데이터 : char, string, 배열 등등 기본형 데이터를 베이스로 한 데이터 형태입니다. * 정수형 데이터 정수형 데이터는 운영체제의 처리 기준을 따라 다른 크기를 갖습니다. 32bit 운영체제에서 int는 일반적으로 4byte의 크기를 갖습니다. 재미있게도, 64bit 운영체제가 나온 현재도 int는 대부분 4byte로 처리합니다. 왜냐하면, int 크기가 수정되면 이미 개발된 수많은 프로그램들을 수정해야..

    C++의 기초 - 1

    * 제가 보기 편하기 위해 작성하는 메모이므로, 누락된 내용이 있을 수 있습니다. 누락된 내용은 제가 이미 숙지하였기 때문이거나 다른 이유로 누락될 수 있습니다. * 구조적 프로그래밍과 OOP의 차이는 다음과 같습니다. - 구조적 프로그래밍은 1. "알고리즘"에 초점을 맞춘다. 2. Top-Down 형식으로 진행된다. - OOP는 1. "데이터"에 초점을 맞춘다. 2. Bottom-Up 형식으로 진행된다. * 일반화 프로그래밍 - 일반화 프로그래밍이란, 데이터 형과 무관하게 사용할 수 있는 코드를 작성함을 의미합니다. - - 예를 들어, sort 함수는 여러가지 자료형에 적용이 가능합니다. * C++의 이식성과 표준에 대하여 - 개발자들끼리의 C++ 표준을 맞추기 위해 ANSI/ISO에서 C++03, C..

    [C++]백준 - 1064번 문제

    1064번: 평행사변형 (acmicpc.net) 1064번: 평행사변형 평행사변형은 평행한 두 변을 가진 사각형이다. 세 개의 서로 다른 점이 주어진다. A(xA,yA), B(xB,yB), C(xC,yC) 이때, 적절히 점 D를 찾아서 네 점으로 평행사변형을 만들면 된다. 이때, D가 여러 개 나 www.acmicpc.net 1064번 : 평행사변형 평행사변형은 평행한 두 변을 가진 사각형이다. 세 개의 서로 다른 점이 주어진다. A(xA,yA), B(xB,yB), C(xC,yC) 이때, 적절히 점 D를 찾아서 네 점으로 평행사변형을 만들면 된다. 이때, D가 여러 개 나올 수도 있다. 만들어진 모든 사각형 중 가장 큰 둘레 길이와 가장 작은 둘레 길이의 차이를 출력하는 프로그램을 작성하시오. 만약 만들..