조건문, “만약에” 한 마디면 끝! 앱이 알아서 결과를 고르는 원리

갈림길 표지판

작성자

카테고리:

작성자: 컴맹 집사

대표 이미지: 조건문은 갈림길에서 길을 고르는 규칙과 같다 (사진: took_a_snap / Pixabay)

이 글에서 얻는 것

  • 이런 분께 앱이 점수로 결과를 고르는 원리가 궁금한 분
  • 핵심 답 조건문은 “만약에”다. 일곱 유형을 하나씩 견줘 “더 크면 1등을 바꾸는” 키 재기 방식이면 결과가 빌 일이 없다
  • 바로 쓰는 팁 동점일 때는 무작위 대신 우선순위를 정해 두자. 같은 답에는 같은 결과가 나와야 믿음이 간다

심리 테스트를 끝까지 풀면 마지막에 “당신은 ○○형!”이 뜬다. 앱은 대체 어떻게 내 결과를 골라낼까? 처음엔 엄청 복잡한 계산이 숨어 있을 줄 알았다. 막상 들여다보니 비밀은 우리가 매일 쓰는 말 한 마디였다. 바로 “만약에”다.

앞 글에서 질문 7개에 답하면 일곱 가지 집사 유형에 점수가 쌓이도록 만들었다. 이번 글은 그 점수를 보고 “이 집사는 무슨 유형인가”를 정하는 이야기다. 코드를 한 줄도 몰라도 읽을 수 있게 썼다.

앱은 “만약에”로 생각한다

AI에게 이 원리를 쉽게 설명해 달라고 했더니 이런 예를 들어 줬다.

만약 비가 오면 우산을 챙긴다. 그렇지 않으면 선글라스를 챙긴다.

이게 전부다. 상황을 확인하고, 그 결과에 따라 할 일을 고르는 것. 프로그래밍에서는 이걸 조건문이라고 부르고, 코드에는 “만약”이라는 뜻의 영어 단어 if로 적는다. “그렇지 않으면”은 else다. 이 두 단어만 알아도 코드 속 문장이 반쯤은 읽힌다.

강아지 집으로 바꾸면 더 쉽다. “만약 폐하가 산책줄을 보고 꼬리를 흔들면 산책을 나간다. 그렇지 않으면 간식으로 기분을 살핀다.” 집사라면 하루에도 수십 번 하는 판단이다. 앱도 똑같이 판단할 뿐이다.

우리 앱에 숨어 있던 “만약에” 세 가지

왕립 개집사협회 앱을 다시 보니, 앱이 똑똑해 보이던 순간은 거의 다 조건문 덕분이었다.

  • 만약 폐하 이름칸이 비어 있으면 → “폐하의 이름을 입력해 주세요.”를 보여 준다.
  • 만약 지금이 일곱 번째 질문이면 → 결과 화면으로 간다. 아니면 → 다음 질문을 보여 준다.
  • 만약 사진이 있으면 → 사진을 보여 준다. 아니면 → 기본 그림을 보여 준다.

이렇게 말로 풀고 나니 “코드”라는 단어가 덜 무서워졌다.

1등 유형 고르기, 첫 시도는 실패였다

문제는 결과를 고르는 부분이었다. 처음 AI가 만든 방식을 말로 옮기면 이랬다.

만약 충성형 점수가 4점 이상이면 충성형. 아니고 만약 간식 협상형 점수가 4점 이상이면 간식 협상형…

그럴듯해 보였다. 그런데 직접 해 보니 구멍이 있었다. 질문 일곱 개에 골고루 답하면 어느 유형도 4점을 넘지 못하는 경우가 많았다. 최고점이 2~3점에 그친 것이다. 그러면 어떤 “만약에”에도 걸리지 않아서, 결과 화면에 작위가 텅 빈 채로 나왔다. 작위 없는 작위증이라니, 폐하가 보셨으면 크게 노하셨을 일이다.

조건에 따라 나뉜 집사 유형 결과
가장 높은 점수의 유형이 결과로 나온다
출처: 왕립 개집사협회 앱 2026년 9월 19일 버전 화면, 직접 캡처

키 재기 방식으로 바꾸니 해결됐다

AI에게 “4점 넘는 유형이 없으면 결과가 비어 버린다”고 설명하자 방법을 바꿔 줬다. 정해진 점수를 넘는지 보는 대신, 일곱 유형을 서로 견줘서 가장 큰 것을 고르는 방식이다.

  1. 첫 번째 유형을 일단 “지금까지 1등”으로 세운다.
  2. 두 번째 유형과 비교한다. 만약 더 크면 1등을 바꾼다.
  3. 세 번째, 네 번째… 일곱 번째까지 똑같이 비교한다.
  4. 끝까지 살아남은 1등이 결과다.

반 아이들을 한 줄로 세워 놓고 “지금까지 제일 큰 아이”를 한 명씩 바꿔 가며 키를 재는 것과 같다. 이 방식이면 점수가 낮아도 누군가는 반드시 1등이 된다. 결과가 빌 일이 없다. 여기서도 핵심은 “만약 더 크면”이라는 조건문 하나였다. (출처: MDN 웹 문서, 비교 연산자)

점수가 같으면? 폐하도 고민할 문제

다음 고민은 동점이었다. 충성형 3점, 간식 협상형 3점처럼 두 유형이 나란히 1등이면 누구를 줘야 할까? AI가 세 가지 방법을 내놓았다.

방법 좋은 점 아쉬운 점
먼저 나온 유형을 준다 간단하다 코드 순서에 따라 우연히 정해진다
무작위로 고른다 골고루 나온다 같은 답을 해도 결과가 바뀐다
우선순위를 미리 정해 둔다 결과가 늘 같고 의도가 분명하다 순서를 직접 정해야 한다

무작위는 바로 탈락했다. 같은 답으로 두 번 했는데 결과가 다르면 누구라도 “이거 그냥 뽑기네” 하고 실망할 테니까. 테스트 앱은 같은 답이면 같은 결과가 나와야 믿음이 간다.

그래서 우선순위를 정했다. 무조건 충성형 → 간식 협상형 → 산책 원정대장 → 과잉보호형 → 왕실 기록형 → 평화 유지 전문관 → 전략적 회피형 순서다. 많은 반려인이 “내 얘기네!” 할 만한 유형을 앞에 두었다. 가장 높은 5단계 작위로 이어지는 평화 유지 전문관은 너무 쉽게 나오지 않도록 뒤로 보냈다.

AI에게는 이렇게만 말했다.

점수가 같은 유형이 여러 개면, 아래 순서에서 앞에 있는 유형을 결과로 해 줘. 같은 답이면 항상 같은 결과가 나와야 해.

규칙을 말로 또박또박 적어 주니, AI가 그대로 조건문으로 옮겨 줬다.

1만 가지 경우를 AI가 대신 눌러 봤다

규칙을 만들었으면 진짜 그렇게 되는지 확인해야 한다. 처음엔 손으로 했다. 충성형이 나오게 충성형 보기만 고르고, 회피형이 나오게 회피형 보기만 고르는 식으로 일곱 유형을 하나씩 확인했다. 동점이 나오도록 답을 섞어서도 해 봤다.

하지만 손가락에는 한계가 있었다. 그래서 AI에게 자동으로 확인하는 테스트를 만들어 달라고 했다. 폐하 정보와 답을 조합할 수 있는 경우를 모두 돌려 보니 1만 가지가 넘었다. 결과가 비는 경우는 없는지, 같은 입력이면 늘 같은 결과가 나오는지를 한 번에 검사했다. 사람이 하나씩 눌렀다면 며칠은 걸렸을 일이다.

같은 원칙을 왕국 이름과 표어에도 적용했다. 매번 무작위로 뽑으면 같은 사람이 다시 해도 왕국 이름이 바뀐다. 그래서 같은 입력이면 같은 이름이 나오게 하고, 다른 이름이 궁금한 사람을 위해 “다시 뽑기” 버튼을 따로 달았다.

코드를 몰라도 “만약에”만 알면 달라지는 것

조건문을 알고 나서 가장 크게 달라진 건 AI와의 대화였다. 전에는 “결과가 이상해”라고만 했다. 이제는 “결과 계산에서 점수가 같을 때 처리가 빠진 것 같아”라고 말할 수 있다. 문제의 위치를 짚어 주니 AI의 답도 훨씬 정확해졌다.

코딩을 모르는 분께 드리고 싶은 팁은 하나다. AI에게 기능을 부탁할 때 “만약 ○○이면 ○○해 줘. 아니면 ○○해 줘.” 이 모양으로 말해 보자. 예를 들어 “만약 사진을 안 올리면 기본 강아지 그림을 보여 줘”처럼 말이다. 이것만으로 AI가 엉뚱한 걸 만드는 일이 확 줄어든다. 코드를 직접 쓰지 못해도, 앱이 생각하는 방식을 아는 것만으로 충분하다.


이전 글: 질문 7개로 집사 유형을 맞히는 테스트 앱 만드는 법
다음 글: 테스트 결과를 집사 작위증으로! 받고 싶어지는 결과 화면 만드는 법

👑 왕립 개집사협회

이 글에서 만든 기능, 직접 써보세요

글에서 다룬 기능은 모두 「왕립 개집사협회」 앱에 들어 있어요.
우리 강아지 왕국을 만들고 집사 작위증을 받아 보세요.

📬 새 글·새 전자책 알림 받기

새 글과 새 무료 전자책이 올라오면 이메일로 알려 드려요. 무료 전자책은 자료실에서 가입 없이 바로 받을 수 있어요.

전체 목차 보기 · 블로그 소개 · 질문하기

코멘트

답글 남기기

실명이 아니어도 괜찮아요. 댓글에는 닉네임만 보이고, 이메일은 공개되지 않아요. * 표시는 꼭 적어 주세요.