넥슨 입사 문제 풀이
Studies 2011/07/08 14:46
N사 직군 면접 문제를 풀어보았습니다. 임베디드 프로그래머를 폄하하는 것은 아니지만 임베디드 프로그램은 대체로 높은 신뢰성을 요구하므로 로직 자체가 간단하게 구현되는 경우가 많습니다. 특히나 입사 초년차일 경우에는 그런 현상이 매우 두드러지게 되고 그로 인해서 머리가 굳는 것을 방지하기 위해서 이런 문제 풀이와 같은 기회를 많이 만들려고 합니다.
일단 문제 원문을 올려 드립니다.
원래 1번 문제는 너무 쉬워서 풀지 않으려다 그냥 풀기로 했습니다.
1번 문제 해답입니다. 이런 문제는 직접 모두 풀고 나서 해답과 비교하며 서로 어떤 방식으로 풀었는지 비교하는 것이 좋습니다. 절대로 해답을 먼저 보는 일이 없기를 기원합니다.
2번 문제 해답입니다.
마지막 3번 문제 해답입니다.
전반적으로 1, 2번 문제는 보너스 문제에 가깝고 3번 문제가 변별력을 좌우하는 문제라는 생각이 들었습니다. Python 코드를 보면 정말 보너스 코드에 가깝지 않나요? 간만에 심심풀이 땅콩 문제로 괜찮았습니다. 혹 시간이 남는 분이라면 한 번씩 풀어보기를 추천합니다.
일단 문제 원문을 올려 드립니다.
1. 알파벳을 입력받아 계산하는 프로그램 작성
a는 1 이라하고 z는 26 입니다. 단, 대소문자 모두 인식해야 합니다.
예) abcd를 입력 받으면 결과는 10 입니다.
2. 특정 문자열 계산하는 프로그램 작성
영문자를 입력받아 문자열중 bab은 1점, baby는 -2점으로 계산한다.
기본점수는 50점이며 babbab(또는 babab, 또는 babybaby),일경우 한 번만 계산되며 babbaby일 경우 baby만 계산한다.
(bab과 baby가 하나의 단어처럼 조합된 경우 baby만 처리)
예) bab is baby => 50 + 1 - 2 => 결과 : 49
babbab is baby => 50 + 1 - 2 => 결과 : 49
babbabbaby is babybababy => 50 -2 - 2 => 결과 : 46
3. 팀구성하기 프로그램 작성
서로 싫어하지 않는 선수로 2팀을 구성한다.
1. 전체 선수 인원 입력
2. 싫어하는 선수가 있는 선수는 싫어하는 선수수와 선수 번호를 차례대로 입력한다.
3. 선수는 최대 100명까지 가능하다.
예)
(입력)
5 => 설명 : 총 선수수
1 1 2 => 설명 : 1번선수는 1명을 싫어하고 싫어하는 선수는 2번이다.
2 1 3 => 설명 : 2번선수는 1명을 싫어하고 싫어하는 선수는 3번이다.
3 0 0 => 설명 : 3번선수는 싫어하는 선수가 없다.
4 2 2 3 => 설명 : 4번선수는 2명을 싫어하고 싫어하는 선수는 2,3번이다.
5 1 4 => 설명 : 5번선수는 1명을 싫어하고 싫어하는 선수는 4번이다.
위와 같이 입력(설명은 단지 입력에 대한 설명이고 숫자만을 입력한다)하면 결과는
A팀 : 1,5
B팀 : 2
a는 1 이라하고 z는 26 입니다. 단, 대소문자 모두 인식해야 합니다.
예) abcd를 입력 받으면 결과는 10 입니다.
2. 특정 문자열 계산하는 프로그램 작성
영문자를 입력받아 문자열중 bab은 1점, baby는 -2점으로 계산한다.
기본점수는 50점이며 babbab(또는 babab, 또는 babybaby),일경우 한 번만 계산되며 babbaby일 경우 baby만 계산한다.
(bab과 baby가 하나의 단어처럼 조합된 경우 baby만 처리)
예) bab is baby => 50 + 1 - 2 => 결과 : 49
babbab is baby => 50 + 1 - 2 => 결과 : 49
babbabbaby is babybababy => 50 -2 - 2 => 결과 : 46
3. 팀구성하기 프로그램 작성
서로 싫어하지 않는 선수로 2팀을 구성한다.
1. 전체 선수 인원 입력
2. 싫어하는 선수가 있는 선수는 싫어하는 선수수와 선수 번호를 차례대로 입력한다.
3. 선수는 최대 100명까지 가능하다.
예)
(입력)
5 => 설명 : 총 선수수
1 1 2 => 설명 : 1번선수는 1명을 싫어하고 싫어하는 선수는 2번이다.
2 1 3 => 설명 : 2번선수는 1명을 싫어하고 싫어하는 선수는 3번이다.
3 0 0 => 설명 : 3번선수는 싫어하는 선수가 없다.
4 2 2 3 => 설명 : 4번선수는 2명을 싫어하고 싫어하는 선수는 2,3번이다.
5 1 4 => 설명 : 5번선수는 1명을 싫어하고 싫어하는 선수는 4번이다.
위와 같이 입력(설명은 단지 입력에 대한 설명이고 숫자만을 입력한다)하면 결과는
A팀 : 1,5
B팀 : 2
원래 1번 문제는 너무 쉬워서 풀지 않으려다 그냥 풀기로 했습니다.
1번 문제 해답입니다. 이런 문제는 직접 모두 풀고 나서 해답과 비교하며 서로 어떤 방식으로 풀었는지 비교하는 것이 좋습니다. 절대로 해답을 먼저 보는 일이 없기를 기원합니다.
더보기
2번 문제 해답입니다.
더보기
마지막 3번 문제 해답입니다.
더보기
전반적으로 1, 2번 문제는 보너스 문제에 가깝고 3번 문제가 변별력을 좌우하는 문제라는 생각이 들었습니다. Python 코드를 보면 정말 보너스 코드에 가깝지 않나요? 간만에 심심풀이 땅콩 문제로 괜찮았습니다. 혹 시간이 남는 분이라면 한 번씩 풀어보기를 추천합니다.



