코딩일지

고정 헤더 영역

글 제목

메뉴 레이어

코딩일지

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (29)

검색 레이어

코딩일지

검색 영역

컨텐츠 검색

전체 글

  • [C++] 백준 24060번 : 알고리즘 수업 - 병합 정렬 1

    2023.07.15 by 별달하현

  • [C++] int보다 큰 정수 타입과 팩토리얼(!)

    2023.07.13 by 별달하현

  • [C++] 백준 2839번 : 설탕 배달(Brute Force)

    2023.07.11 by 별달하현

  • [C++] 백준 1436번 : 영화감독 숌

    2023.07.11 by 별달하현

  • [C++] 백준 1018번 : 체크판 다시 칠하기

    2023.07.10 by 별달하현

  • [C++] 빌더 패턴과 이를 이용한 수강신청 프로그램

    2023.07.10 by 별달하현

  • [C++] 지뢰찾기(Minesweeper)

    2023.07.09 by 별달하현

  • [C++] 백준 2231번 : 분해합 (변형 + runtime 비교)

    2023.07.07 by 별달하현

[C++] 백준 24060번 : 알고리즘 수업 - 병합 정렬 1

- 문제 오늘도 서준이는 병합 정렬 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. N개의 서로 다른 양의 정수가 저장된 배열 A가 있다. 병합 정렬로 배열 A를 오름차순 정렬할 경우 배열 A에 K 번째 저장되는 수를 구해서 우리 서준이를 도와주자. 크기가 N인 배열에 대한 병합 정렬 의사 코드는 다음과 같다. //C++ 적인 설명은 X,

카테고리 없음 2023. 7. 15. 00:59

[C++] int보다 큰 정수 타입과 팩토리얼(!)

int type 변수의 표현 범위는 10자리수 까지이다. 그것을 넘어가는 자릿수를 표현하기 위해서는 int64_t라는 type 선언이 필요하다. 이것에 필요한 라이브러리는 cstdint이다. 팩토리얼(!)의 경우, 금방금방 숫자의 자릿수가 커지기에, int type이 아닌, int64_t 로 설정해야한다. #include #include using namespace std; int64_t factorial(int cnt) { if (cnt > num; cout

카테고리 없음 2023. 7. 13. 19:56

[C++] 백준 2839번 : 설탕 배달(Brute Force)

- 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. - 입력 첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000) - 출력 상근이가 배달하는 봉지의 최소 개수를 출력한다...

카테고리 없음 2023. 7. 11. 23:54

[C++] 백준 1436번 : 영화감독 숌

- 문제 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스타워즈 5, 스타워즈 6과 같이 이름을 지었고, 피터 잭슨은 반지의 제왕을 만들 때, 반지의 제왕 1, 반지의 제왕 2, 반지의 제왕 3과 같이 영화 제목을 지었다. 하지만 숌은 자신이 조지 루카스와 피터 잭슨을 뛰어넘는다는 것을 보여주기 위해서 영화 제목을 좀 다르게 만들기로 했다. 종말의 수란 어떤 수에 6이 적어도 3개 이상 연속으로 들어가는 수를 말한다. 제일 작은 종말의 수는 666이고, 그 다음으로 큰 수는 1666, 2..

카테고리 없음 2023. 7. 11. 23:54

[C++] 백준 1018번 : 체크판 다시 칠하기

- 문제 상황 지민이는 자신의 저택에서 MN개의 단위 정사각형으로 나누어져 있는 M×N 크기의 보드를 찾았다. 어떤 정사각형은 검은색으로 칠해져 있고, 나머지는 흰색으로 칠해져 있다. 지민이는 이 보드를 잘라서 8×8 크기의 체스판으로 만들려고 한다. 체스판은 검은색과 흰색이 번갈아서 칠해져 있어야 한다. 구체적으로, 각 칸이 검은색과 흰색 중 하나로 색칠되어 있고, 변을 공유하는 두 개의 사각형은 다른 색으로 칠해져 있어야 한다. 따라서 이 정의를 따르면 체스판을 색칠하는 경우는 두 가지뿐이다. 하나는 맨 왼쪽 위 칸이 흰색인 경우, 하나는 검은색인 경우이다. 보드가 체스판처럼 칠해져 있다는 보장이 없어서, 지민이는 8×8 크기의 체스판으로 잘라낸 후에 몇 개의 정사각형을 다시 칠해야겠다고 생각했다. ..

카테고리 없음 2023. 7. 10. 18:00

[C++] 빌더 패턴과 이를 이용한 수강신청 프로그램

- Builder Pattern 1. 언제 쓰는 지 비유하자면? 우리가 옷을 산다고 생각해보자. 옷은 크기별로 다르다. S ,M, L 등이 있고, 색도 각기 다르며, 소재도 다를 수 있다. 사려고 하는 옷의 분류가 크기, 색, 소재로 분류된다고 생각하고, 각각의 옵션이 3개씩 있다고 생각하면, 총 27가지의 경우의 수가 존재한다. 그렇다면 그런 옷에 맞는 각각의 class들을 모두 새롭게 정의해야할까? 이는 매우 번거롭다. 그래서 우리는 Builder 패턴을 만드는 것이다. 하나의 예시를 만들어보겠다. ※뭔가 빈약한데 나중에 더 공부해서 수정하겠다... class Builder{ virtual ~Builder(){} virtual void take_option_c() const = 0; virtual v..

카테고리 없음 2023. 7. 10. 00:22

[C++] 지뢰찾기(Minesweeper)

- 상황 설정 지뢰찾기 프로그램을 구현할 것이다. 일반적으로 수행하는 지뢰찾기는, 한 영역을 클릭했을 때, 지뢰를 제외한 다른 영역을 오픈하고, 한 블록을 완전히 감싸는(3×3 형태) 영역 속 지뢰의 갯수를 표시해준다. 또한 클릭마다 즉각적인 변화가 눈에 보이게 만들어준다. 하지만 지금 구현할 프로그램은,txt 파일을 이용해, 입력되어있는 일련의 정보와 명령에 맞게, 이미 갖추어진 지뢰찾기 판에 맞추어, 주어진 게임을 수행하도록 하고, 결과만 표시하게 하는 지뢰찾기 프로그램이다. 다음은 사용할 정보들이다. 다음은 main 함수이다. #include #include #include #include using namespace std; /* 이 부분에 함수를 구현 */ int main() { cout tes..

카테고리 없음 2023. 7. 9. 22:28

[C++] 백준 2231번 : 분해합 (변형 + runtime 비교)

-문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 N의 생성자를 모두 구하는 프로그램을 작성하시오. -입력 : 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. -구상 1부터 시작해서 숫자 하나씩 뜯어서 비교해보는 방법 => 직관적인 방법임. 하지만 입력받는 숫자가 커졌을 때, 사용되는 메..

카테고리 없음 2023. 7. 7. 18:32

추가 정보

인기글

최신글

페이징

이전
1 2 3 4
다음
TISTORY
코딩일지 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바