많은 조건 분기 3

[백준 01744] 수 묶기 [C/C++]

문제 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 상관없이 묶을 수 있다. 하지만, 같은 위치에 있는 수(자기 자신)를 묶는 것은 불가능하다. 그리고 어떤 수를 묶게 되면, 수열의 합을 구할 때 묶은 수는 서로 곱한 후에 더한다. 예를 들면, 어떤 수열이 {0, 1, 2, 4, 3, 5}일 때, 그냥 이 수열의 합을 구하면 0+1+2+4+3+5 = 15이다. 하지만, 2와 3을 묶고, 4와 5를 묶게 되면, 0+1+(2*3)+(4*5) = 27이 되어 최대가 된다. 수열의 모든 수는 단 한번만 묶거나, 아니면 묶지 않아야한다. 수열이 주어졌을 때, 수열..

[백준 02985] 세 수 [Java]

문제 수학을 못해도 너무 못하는 상근이는 정인이에게 과외를 받고 있다. 오늘은 상근이가 사칙연산을 배우는 날이다. 정인이는 공책에 숫자 세개로 이루어진 등식을 적어주었다. (식은 자연수와 등호(=), 그리고 더하기, 빼기, 곱하기, 나누기 기호(+-*/)로 이루어져 있다) 상근이는 이런 등식을 사칙연산을 모르는 창영이게 자랑하다가 그만... 창영이는 숫자를 제외한 기호를 모두 지워버리고 말았다. 세 정수가 주어졌을 때, 원래 정인이가 적어준 등식을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정인이가 적어준 세 정수가 주어진다. 이 수는 100보다 작거나 같은 자연수이다. 항상 정답이 존재하는 경우만 입력으로 주어진다. 출력 첫째 줄에 정인이가 원래 적어준 등식을 출력한다. 입력으로 주어진 숫자의 순서..

[백준 20839] Betygsättning [Python]

풀이 기준 점수와 학생들의 점수를 입력받아 조건에 일치하는 등급을 출력하면 된다. 문제에서 알려진 조건은 아래와 같이 분류할 수 있다. 최소 'E'의 점수를 받는다. z == Z, y == Y일 때 다음과 같이 분류가 된다. 1. x == X일 때 'A' 2. x >= X / 2 일 때 'B' 3. (1), (2) 둘 다 아닌 경우는 'C' 위의 조건에서 성립하지 않을 때 z == Z, y >= Y / 2 이면 'D'를 받는다. 특별 등급은 각각 E기준을 만족하고 C를 절반만 만족하면 D, E, C의 기준을 만족하고 A를 절반만 만족하면 B이다. 소스코드 소스코드 보기 출처 20839번: Betygsättning På första raden står tre heltal $1 \leq x \leq 30$,..