[출제의도] 합성함수에 관련된 주어진 조건을 그래프를 이용하여 이해할 수 있는가?
g(a)=f(a), g(b)=f(b)에서
f(f(a))=f(a), f(f(b))=f(b)
이때, f(a)=k라 하면 f(k)=k
그러므로 k는 함수 y=f(x)의 그래프와 직선 y=x가 만나는 점의 x좌표이다.

이때, 함수 y=f(x)의 그래프와 직선 y=x가 만나는 점 중 원점이 아닌 점의 x좌표를 위의 그림과 같이 α,β,γ (0<α<β<γ)라 하자.
이제, f(x)의 값이 0,α,β,γ인 경우를 나타내면 다음과 같다.

(ⅰ) f(x)=0인 경우
x의 값은 0이다.
(ⅱ) f(x)=α인 경우 함수 y=f(x)의 그래프와 직선 y=α는 그림과 같이 세 점에서 만난다.
이때, x=α인 값을 x1,x2 (x1<α<x2)라 하면 x의 값은 x1,α,x2이다.
(ⅲ) f(x)=β인 경우 함수 y=f(x)인 그래프와 직선 y=β는 그림과 같이 세 점에서 만난다.
이때, x=β인 값을 y1,y2 (y1<y2<β)라 하면 x의 값은 y1,y2,β이다.
(ⅳ) f(x)=γ인 경우 함수 y=f(x)의 그래프와 직선 y=γ는 그림과 같이 네 점에서 만난다.
이때, x=γ인 값을 z1,z2,z3 (z1<z2<z3<γ)라 하면 x의 값은 z1,z2,z3,γ이다.
이때, 함수 g(x)=f(f(x))가 집합 X에서 X로의 함수이어야 하므로 다음 각 경우로 나눌 수 있다.
(a) f(x)의 값이 0,α,β,γ의 값 중 서로 다른 두 값을 갖도록 a,b를 정하는 경우 이 경우 f(x)=0, f(x)=α, f(x)=β, f(x)=γ인 x의 값은 각각 0,α,β,γ이어야 한다.
즉, 두 수 a,b는 0,α,β,γ에서 서로 다른 두 수를 택해야 하므로 집합 X의 개수는
4C2=2×14×3=6
(b) f(x)의 값이 0,α,β,γ의 값 중 하나의 값만 갖도록 a,b를 정하는 경우
f(x)=0일 때는 두 수 a,b를 결정할 수 없다.
f(x)=α일 때는 두 수 a,b는 x1,α,x2 중 α를 반드시 포함하여 두 수를 택해야 하므로 집합 X의 개수는 2이다.
f(x)=β인 경우 두 수 a,b는 y1,y2,β 중 β를 반드시 포함하여 두 수를 택해야 하므로 집합 X의 개수는 2이다.
f(x)=γ인 경우 두 수 a,b는 z1,z2,z3,γ 중 γ를 반드시 포함하여 두 수를 택해야 하므로 집합 X의 개수는 3이다.
그러므로 집합 X의 개수는 7이다.
따라서 (a), (b)에서 구하는 집합 X의 개수는
6+7=13