본문 바로가기
728x90

분류 전체보기58

[C++][백준] 1074 Z 이 문제는 재귀를 사용하는 문제이다.문제한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다.N > 1인 경우, 배열을 크기가 2N-1 × 2N-1로 4등분 한 후에 재귀적으로 순서대로 방문한다.다음 예는 22 × 22 크기의 배열을 방문한 순서이다.N이 주어졌을 때, r행 c열을 몇 번째로 방문하는지 출력하는 프로그램을 작성하시오.다음은 N=3일 때의 예이다.입력첫째 줄에 정수 N, r, c가 주어진다.출력r행 c열을 몇 번째로 방문했는지 출력한다. 처음에는 2^15인 2차원 배열을 만든 다음 재귀 함수를 돌려 순차적으로 채워나가는 것을 생각해봤다.그렇지만 시간제한이 0.5초.. 2024. 7. 1.
[C++][백준] 11729 하노이 탑 이동 순서 이번 문제는 재귀를 이용한 하노이탑 문제이다.문제세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 옮기려 한다.1. 한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다.2. 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다.이 작업을 수행하는데 필요한 이동 순서를 출력하는 프로그램을 작성하라. 단, 이동 횟수는 최소가 되어야 한다.아래 그림은 원판이 5개인 경우의 예시이다. 입력 첫째 줄에 첫 번째 장대에 쌓인 원판의 개수 N (1 ≤ N ≤ 20)이 주어진다. 출력 첫째 줄에 옮긴 횟수 K를 출력한다.두 번째 줄부터 수행 과정을 출력한다. 두 번째 .. 2024. 6. 28.
[C++][백준] 15649 N과 M(1) 이번 문제는 재귀함수를 사용한 백트래킹 문제이다.백트래킹이 뭘까?모든 경우의 수를 전부 고려하는 알고리즘으로 특정 해를 찾다가 해의 조건이 아니게 되면 다시 돌아가는 과정을 반복해 모든 해를 찾는 방법이다. 트리와 같은 구조에서 유용하다. 문제자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.- 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열  입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)  출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다.수열은 사전 순으로 증가하는 순서로 출력해야 한다. 머릿속으로 생각하기에는 .. 2024. 6. 28.
[백준][C++] 10951 A+B - 4 (EOF) 이번 문제는 EOF관련한 문제이다.EOF가 뭘까?컴퓨팅에서, 파일 끝(End of File, EOF)은 데이터 소스로부터 더 이상 읽을 수 있는 데이터가 없음을 나타낸다.-위키백과 즉 프로그램을 돌리면서 파일을 입력받다가, 파일의 끝에 다다르게 되면 파일의 끝을 만났음을 알리기 위해 매크로로 정의된 EOF 값을 리턴하는 것이다. 문제두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.입력입력은 여러 개의 테스트 케이스로 이루어져 있다.각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 출력각 테스트 케이스마다 A+B를 출력한다.나의 코드#includeusing namespace std;int main(){ int a, b; while(1){.. 2024. 6. 26.
꿈두레 최종 프로젝트 실시(2022. 6. 17.) 꿈두레의 마지막 수업은 팀 프로젝트입니다.저 이외에 2명의 친구들과 팀을 짜서 프로젝트를 진행했습니다.​프로젝트의 주제는 LOL 챔피언 능력치 계산 프로그램2.0 입니다.​2.0인 이유는 작년에 제작했던 계산 프로그램이 있기 때문인데요.작년에 만든 프로그램은 코드도 4000줄이 넘어가고 시각적으로도 떨어져서만족스럽지 못했습니다. 그래서 이번에 코드의 용량도 줄이고 시각화도 좋고접근성도 좋은 프로그램을 만들어보고자 시도하게 되었습니다.​꿈두레에서 배운 GUI를 이용하면 시각적으로 표현할 수 있을것 같아작년에 만든 코드와 자료들을 가지고 무작정 시작해보았습니다.고통의 시작​일단 LOL이라는 게임은 160가지가 넘는 캐릭터들과 많은 아이템들이 있는데요.시간이 2주정도 밖에 안 주어졌기 떄문에 10가지 캐릭터를.. 2024. 6. 25.
꿈두레 GUI 총정리(2022.5.18 ~ 2022.6.2)2편 다섯번째는 리스트박스 입니다.코드는 아래와 같습니다.listbox()를 통해 리스트 박스를 생성합니다.selectmode는 리스트의 항복 선택 방법을 정하는 함수로 매개 변수가 있는데extended: 다중 선택, 마우스 드래그나 쉬프트키 + 방향키 이동으로 선택browse : 단일 선택, 방향키 이동 시 선택single : 단일 선택, 방향키 이동 후 스페이스바로 선택multiple : 다중 선택, 마우스 클릭이나 방향키 이동 후 스페이스바로 선택이렇게 4종류가 있습니다.그중 extended를 선택하였고딸기, 사과, 바나나, 수박, 배를 넣어줍니다. 리스트이기 때문에 항상 0부터 시작하고 END를 사용시 마지막에 추가해주는 기능이 있습니다.pack을 해주어 나타나도록 합니다.이렇게 하고 실행한다면이런 리.. 2024. 6. 25.
728x90
반응형