문제 분류 수업 진도 대회 채점현황 순위 질문게시판
게임
스도쿠 타이핑 리듬 타자게임 타이핑 테트리스 타이핑 인베이더 타이핑 지뢰찾기 8192 공룡게임 타이핑 플래피버드 랭킹
로그인

7049 : 함수 합성 (Function Composition)

•시간제한: 1.000 S •메모리제한: 256 MB •제출: 0 •통과: 0 •만든사람: suakii

7049 : 함수 합성 (Function Composition)

시간 1.000s · 메모리 256MB · 제출 0 · 정답 0

문제 설명

여러 개의 일변수 함수들을 리스트에 담아 관리하며, 이를 순차적으로 합성하여 최종 연산 결과를 구하는 프로그램을 작성하십시오.
정의할 변환 함수는 다음과 같습니다.
- double(x): $x \times 2$
- inc(x): $x + 1$
- square(x): $x^2$
- negate(x): $-x$

N개의 변환 함수 종류가 순서대로 주어지고 초기값 X가 주어졌을 때, 합성 함수 $f_N(f_{N-1}(...f_1(X)...))$의 최종 연산 결과를 구하십시오.

[제약 조건]
• 연산 개수 $N$: $1 \le N \le 10$
• 초기값 정수 $X$: $-10 \le X \le 10$

입력 설명

첫째 줄에 연산의 개수 N이 주어집니다. (1 ≤ N ≤ 10)
둘째 줄부터 N개의 줄에 걸쳐 적용할 연산의 종류가 순서대로 주어집니다. ("double", "inc", "square", "negate" 중 하나)
마지막 줄에 초기값 정수 X가 주어집니다. (-10 ≤ X ≤ 10)

출력 설명

변환 연산들을 순서대로 모두 적용한 최종 결과를 정수로 출력합니다.

입력 예시
COPY
복사되었습니다!

3
inc
double
square
3

출력 예시
COPY
복사되었습니다!

64

도움

파이썬의 functools.reduce 함수를 사용하거나, 함수들을 담은 리스트를 반복문으로 순회하며 값을 누적 적용하여 구현할 수 있습니다.

출처/분류

NOTICE  —  BFStudy OJ 정보샘
애들아, 문제 많이 풀고 게임 잠깐 하는거지?
— 정보샘