[백준 16953][C++] A → B
·
카테고리 없음
문제 링크 https://www.acmicpc.net/problem/16953 ◆문제 해결 및 설명◆ A에 할 수 있는 연산은 A *= 2 와 A = A*10+1 이 있다. A *= 2 혹은 A = A*10+1 두개에서 하나를 골라서 연산을 할경우의 시간 복잡도는 O(2^n)이다. 제일 낮은 수치 증가 식인 A *= 2 만 한다고 하고 A가 가장 낮은 1인값, 최대 10의9승(B의 최댓값) 보다 낮되 가장 큰값이 되기 위한 연산 횟수는 최대 30번이다. 따라서 최대 연산 깊이는 30이다. 따라서 완전 탐색으로 풀어보았다. ◆코드 전문◆ #include using namespace std; long A, B, answer = -1; void cal(long buf, int depth) { if (buf =..
[백준 1987][C++] 알파벳
·
코딩테스트(C++)
문제 링크 https://www.acmicpc.net/problem/1987 오늘의 생각 : 시간 초과가 날때, 백트래킹 기준이 안보이면 방식을 바꿔보자. ◆문제 해결 및 설명◆ 문제 해설 : 알파벳이 써있는 맵위 (0,0) 위치에서 출발하여 상하좌우로 움직일때, 새로 이동한 칸은 지금까지 지나온 모든 칸에 적혀있는 알파벳과 달라야 할때 최장거리를 구하여라 처음에는 맵을 나타내는 이차원 배열 map의 크기와 같게 visited 배열을 선언하고 못 가는 곳을 1로 설정해 dfs로 구현하였으나, 시간 초과로 인하여 visited를 일차원 배열로 설정 하였다. ◆코드 전문◆ #include #include #include using namespace std; int R, C, answer = 0; vector..
13. 클래스의 상속
·
C++/C++
간단한 기초 클래스부터 시작하자 생성자: 접근에 대하여 멤버 초기자 리스트 파생 클래스 생성자는, 기초 클래스 생성자에 값들을 전달하기 위해 멤버 초기자 리스트 문법을 사용할 수 있다. child::child(int age, int cuteScore) : parent(age)// 초기자 리스트 { cuteScore = cuteScore; } 여기서, child는 파생 클래스이고 parent는 기초 클래스이다. age는 기초 클래스 생성자가 사용하는 변수들이다. 기초 클래스 생성자를 제공하지 않는다면, 프로그램은 디폴트 기초 클래스 생성자를 사용한다. 멤버 초기자 리스트는 생성자에만 사용할 수 있다. 파생 클래스와 기초 클래스의 특별한 관계 첫쨰, 파생 클래스 객체는 기초 클래스 메서드들이 private이..
메디앱 프로젝트 회고
·
기타/프로젝트 회고
2022년 2학기에 학부 캡스톤 디자인 프로젝트를 회고하는 글이다. 프로젝트 개요 내가 이번 프로젝트에서 팀장으로 선정되어, 3명의 팀원과 함께 안드로이드 애플리케이션을 개발하게 되었다. 우리 팀은 프로젝트의 주제를 결정하기 위해 회의를 진행하였는데, 주제를 정할 때 애로사항이 많았는데, 의견이 없거나, 의견은 있는데 개발 난이도가 높은 의견이 나왔다. 개발 난이도가 높은 의견 중에 대표적으로 중고거래 앱이였는데, 팀원 중 서버 경험자, 안드로이드 경험자가 둘 다 없었기 때문에 팀에 부담이 크다고 생각해서 기각하였다. 다른 주제를 고민하던 중, 전에 아플 때 어떻게 대처해야 할지, 어느 병원을 가야 할지 몰라 고생했던 기억이 났고, 이를 제안하여 응급상황시 도움을 줄 수 있는 앱을 만들기로 결정하였다. ..