목록Computer/Coding Test (122)
Machineboy空

어떻게 하면 컴퓨터로 하여금 동일한 일을 반복하도록 할 수 있을까? 구조화된 프로그램 이론에 따르면 컴퓨터 프로그램으로 문제를 해결하기 위해 세 가지 기본 제어구조를 사용할 수 있다고 하는데,이 세 가지 제어구조는 순서(sequencing), 선택(selection), 반복(repetition)이다. 순서는 알맞은 순서로 한 단계에서 다음 단계로 처리하는 것을 유식하게 표현한 것이다.선택은 조건에 따라 의사 결정하는 것을 뜻한다.반복은 조건이 참인 동안 별도로 지정한 명령 세트를 반복시키는 것을 의미한다.예제 28. 숫자 추가다섯 개의 숫자를 입력 받은 다음 입력 받은 수의 합을 계산하는 프로그램을 작성하라.#include #include using namespace std;int a, sum;int m..

프로그램의 일부 로직을 함수를 사용하여 별도로 추상화하면 코드가 더 읽기 쉬워지고 유지보수도 용이하다. 함수는 복잡한 연산을 추상화시켜 줄 뿐만 아니라 재사용을 가능케 하는 요소이기도 하다. 카드 대금을 상환하는 데는 생각보다 더 오랜 시간이 걸린다. 그리고 상환하는 공식 또한 매우 복잡하다. 이러한 공식의 복잡도를 함수로 숨기는 것 역시 여러분의 코드가 조직화되도록 하는 데 도움이 된다. 대규모 함수는 사용하기도 어렵고 관리하는 것도 쉽지 않다. 그래서 로직을 나누어 여러 개의 작은 함수로 구성하는 것이 훨씬 좋다. 프로그램은 이렇게 만들어진 함수들을 차례로 호출하기만 하면 된다.예제 24. 에너그램 점검두 개의 문자열을 비교하여 서로가 애너그램(anagram)인지를 검사하는 프로그램을 작성하라.*애너..

프로그램에서 의사결정은 어떻게 해야 할까? 조건에 맞지 않는 값이 들어왔을 때 행동해야 할 일을 정의하고 싶을 때, if-else 문 사용하기양자택일 이상의 선택을 해야할 때, if - else if - else,선택해야하는 경우가 많다면 switch문 등 경우에 따라 사용하면 된다. 예제 14. 세금 계산기문제)주 이름이 WI 인 경우 세율을 5.5%위스콘시 거주자에 해당하는 소계, 세율, 합계 금액을 출력하지만다른 주에 거주하는 경우에는 합계 금액만 출력한다.조건)- else문 사용 불가출력)What is the order amount? 10What is the state? WIThe subtotal is $10.00The tax is $0.55The total is $10.55What is orte..

예제 7. 직사각형 방의 면적 조건)1feet = 0.3048m출력)What is the length of the room in feet? 15What is the width of the room in feet? 20You entered dimensions of 15 feet by 20 feetThe area is300 squre feet22.871 square meters#include #include using namespace std;int length, width;int main() { cout > length; cout > width; cout 예제 8. 피자 파티출력 예)How many people? 8How many pizzas do you have? 2How many pie..

예제 1. 인사하기출력 예)What is your name? BrianHello, Brian, nice to meet you!#include using namespace std;string input;int main() { cout > input; cout 예제 2. 글자 수 세기출력 예)What is the input string? HomerHomer has 5 characters.#include using namespace std;string input;int main() { cout > input; string num = to_string(input.length()); cout 예제 3. 따옴표 출력출력 예)What is the quote? These aren't the ..

https://www.acmicpc.net/problem/1717 문제요약0 a b : a가 포함되어 있는 집합과, b가 포함되어 있는 집합을 합친다.1 a b : 두 원소가 같은 집합에 포함되어 있는지를 확인한다.난이도Gold 5풀이 포인트Union-Find TreeREVIEW DP를 썼다고 함. 무슨 소린지 아직 파악 전.CODE// 코테 통과는 백트래킹까지만 알면되고! 유니온 파인드 부터는 킬러 문항으로 나옴!// Union은 합집합, Find: 그룹의 대표찾기!// DP기법의 두 가지 기법 중 하나로, 메모리자이제이션?#include using namespace std;int n, m;int par[1000001];// 0: 합집합, 1: Find // 대표를 리턴하는 연산void init(){ ..
https://www.acmicpc.net/problem/15649 문제요약1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열을 출력하라! 난이도Silver 3풀이 포인트백트래킹REVIEW 백트래킹은 곧 dfs다.. 아직 무슨 말인지 잘 와닿지 않는다.다시 공부해야한다.CODE// 백트래킹: 뒤로 다시 돌아가서 확인해본다! 역으로 돌아가본다!// 백트래킹을 곧 dfs라고 할 수 있다!#include using namespace std;// 거쳐온 경로vector v;int visited[10];int N,M;// 리프노드에 왔는지 체크를 phase ,단계void f(int phase){ if(phase == M){ for(auto it:v){ cout > N>>..
내일 풀 수학 문제의 개수는 오늘 푼 문제 개수의 수와 숫자의 구성이 같으면서, 오늘 푼 문제 개수의 수보다 큰 수 중 가장 작은 수입니다.예를 들어, 오늘 67문제를 풀었으면 다음 날 76문제를 풉니다. 오늘 푼 문제의 개수를 줬을 때 다음날 풀 문제의 개수를 출력하는 프로그램을 작성하세요.입력오늘 푼 문제의 개수 자연수 N1 출력다음날 풀 문제의 개수 출력문제요약입력값과 같은 구성의 수 중 가장 작은 큰 수풀이 포인트Next-permutation정렬REVIEW경우의 수가 다양해지면 자꾸 생각하길 포기한다.작은 단계로 나누어 생각하는 법을 또 명심!999999까지가 아닌 1000까지만 해서 생각해보고 넓히고 하면 됌!CODE#include #include #include using namespace s..