Algorithm (2139) 썸네일형 리스트형 (C++) - 백준(BOJ) 9093번 : 단어 뒤집기 답 www.acmicpc.net/problem/9093 9093번: 단어 뒤집기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 www.acmicpc.net 문자열을 처리한 후 답을 출력하는 간단한 문제였습니다. 풀이방법 cin의 입력버퍼에는 정수 t와 \n이 들어갑니다. 이는 없어지지 않습니다. getline()에서 인자입력을 \n(default)으로 구분하기 때문에 cin의 입력버퍼를 비워줘야 됩니다. 따라서 cin.ignore()를 사용해 입력버퍼를 비워줘야 합니다. 1. test case 변수인 t를 입력받고 cin의 buffer를 비워준 뒤 한줄로 .. (C++) - 백준(BOJ) 1756번 : 피자 굽기 답 www.acmicpc.net/problem/1756 1756번: 피자 굽기 월드피자 원주 지점에서 N개의 피자 반죽을 오븐에 넣고 구우려고 한다. 그런데, 월드피자에서 만드는 피자 반죽은 지름이 제각각이다. 그런가하면, 월드피자에서 사용하는 오븐의 모양도 몹시 www.acmicpc.net 이분탐색 구현방법을 생각해야하는 문제였습니다. 풀이방법 1. 이분탐색은 정렬이 되었을 때 할 수 있기 때문에 구불구불한 오븐을 정리해야합니다. 위에서 봤을 때 오븐의 중간층은 넓어도 그 위의 층들이 중간층보다 좁을 때 중간층이 튀어나온 부분을 확인할 수 없습니다. 여기서 착안해서 오븐을 위에서 봤을 때 위층부터 너비의 내림차순으로 오븐 너비를 수정할 수 있습니다. 2. 이분탐색 시행 : 이전에 놓았던 오븐의 너비 보다 .. (C++) - 백준(BOJ) 1057번 : 토너먼트 답 www.acmicpc.net/problem/1057 1057번: 토너먼트 김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를 www.acmicpc.net 수학공식을 찾은 후 모든 경우를 검사하는 문제였습니다. 풀이방법 1. 김지민 임한수를 각각 a,b로 두어 입력받습니다. 2. a==1, b==2 또는 a==b일 때까지 2로 나누어줍니다. 이 때 a나 b가 홀수라면 2로나눈 후 1을 더해줍니다. 3. 2번과정을 시행한 갯수가 곧 round 갯수입니다. 따라서 이를 출력해줍니다. Code #include using namespace std; int num[100001];.. (C++) - 백준(BOJ) 3986번 : 좋은 단어 www.acmicpc.net/problem/3986 3986번: 좋은 단어 이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에 www.acmicpc.net stack을 사용하는 간단한 문제였습니다 풀이방법 * stack s가 비어있을 경우 s.top() 함수를 호출한다면 오류가 발생하므로 조심해야 합니다. 모든 단어를 검사하면서 stack이 비어있지 않다면 s.top != 단어인 경우엔 push, s.top != 한 단어인 경우엔 pop해주면 됩니다. 마지막에 stack이 비어있다면 좋은 단어입니다. Code #include using namespace std; int ma.. (C++) - 백준(BOJ) 6502번 : 동혁 피자 답 www.acmicpc.net/problem/6502 6502번: 동혁 피자 대전 ACM-ICPC Regional가 끝나면, 대회 참가자들은 다같이 카이스트 근처의 동혁 피자에 간다. 대회는 5시간동안 진행되므로, 참가자는 모두 배가 매우 고프다. 피자를 최대한 빨리 먹기 위해서, 큰 www.acmicpc.net 간단한 수식으로 충족여부를 결정하는 구현문제였습니다. 풀이방법 1에 해당하는 선분은 피자의 너비/2입니다. 2에 해당하는 선분은 피자의 높이/2 입니다 3번은 따라서 피타고라스 정리에 의해 $\sqrt{ (\frac{너비}{2})^2 + (\frac{높이}{2})^2 }$ 가 됩니다 이 3번 선분의 길이가 식탁 반지름보다 작거나 같으면 fit입니다. Code #include using namesp.. (Python) - 백준(BOJ) 2338번 : 긴자리 계산 답 www.acmicpc.net/problem/2338 2338번: 긴자리 계산 첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A×B를 출력한다. 각각을 출력할 때, 답이 0인 경우를 제외하고는 0으로 시작하게 해서는 안 된다(1을 01로 출력하면 안 된다는 의미). www.acmicpc.net python이나 js는 긴자리 수 사칙연산을 제공합니다. 이런 문제는 해당 언어로 푸는 것이 적합합니다. Code a = int(input()) b = int(input()) print(a+b) print(a-b) print(a*b) (C++) - 백준(BOJ) 2985번 : 세 수 답 www.acmicpc.net/problem/2985 2985번: 세 수 첫째 줄에 정인이가 원래 적어준 등식을 출력한다. 입력으로 주어진 숫자의 순서는 유지해야 하고, 등호 하나와 더하기, 빼기, 곱하기, 나누기 기호 중 하나로 이루어져 있어야 한다. 만약 등식 www.acmicpc.net 아주 간단한 구현, 다해보기(brute force) 문제였습니다. 풀이방법 세 수 a,b,c에 대해 a+b=c 꼴의 수식이 될 수 있지만 a=b+c도 되므로 총 8가지의 경우의 수가 됩니다. Code #include using namespace std; int main(){ double a,b,c; cin >> a >> b >> c; if(a + b == c) cout (C++) - 백준(BOJ) 2428번 : 표절 답 www.acmicpc.net/problem/2428 2428번: 표절 첫째 줄에 제출한 솔루션의 개수 N이 주어진다. 둘째 줄에는 각 솔루션 파일의 크기 size(F1), size(F2), ..., size(FN)이 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ size(Fi) ≤ 100,000,000) 솔루션 파일의 크기는 정수이 www.acmicpc.net 이분탐색 문제였습니다. 풀이방법 * 모든 파일이 크기가 1억으로 동일할 경우 파일의 개수가 10만개라면 pair의 개수가 int범위를 초과할 수 있으니 long long형으로 답과 함수 자료형을 선언했습니다. 1. 입력 file값을 오름차순으로 정렬합니다. 2. 현재 index를 가장 큰 값으로 가정, 0 ~ index - 1까지 파일사이즈가 .. 이전 1 ··· 184 185 186 187 188 189 190 ··· 268 다음