Skip to content

Blue Exam

Jung Kim edited this page Feb 10, 2017 · 10 revisions

마스터즈코스 블루레벨 레벨테스트

아래 문제를 풀어 github에 업로드하고 링크를 제출하세요.

문제1: 1240 나라

1, 2, 4, 0 네 개의 숫자만 쓰는 1240 나라가 있습니다. 1240 나라에서 사용하는 숫자는 다음과 같이 변환됩니다.

  • 10진법의 1 → 1
  • 10진법의 2 → 2
  • 10진법의 3 → 4
  • 10진법의 4 → 10
  • 10진법의 5 → 11
  • 10진법의 6 → 12
  • 10진법의 7 → 14
  • 10진법의 8 → 20
  • 10진법의 9 → 21

(1) 10진수 숫자를 1240 나라에서 쓰는 숫자로 변환하여 반환해 주는 함수 (리턴 타입은 문자열)

function to1240(num)

(2) 반대 변환 함수 - 1240 나라 문자열을 입력받아 10진수로 변환해 주는 함수

function toDec(str)

를 완성해 보세요.

> to1240(10)
“22”
> toDec(“22”)
10

문제2: 맵 문자열을 변환하고 출력하는 프로그램

아래와 같은 모양의 map 문자열이 있습니다.

var map = "10,5\n++++++++++\n+-P------+\n+--------+\n+-----o--+\n++++++++++\n"
  • 문자열 구조
    • 첫번째 줄: width, height
    • 두번째 줄 ~ 끝 줄: 실제 데이터
  1. 문자열을 읽어 json으로 저장하는 함수
function parseData(map_string)

를 작성하세요. 리턴 타입은 json 객체 또는 json 문자열, 단 줄바꿈 문자는 모두 제거해야 합니다.

json string 형식

{
  "width": 10,
  "height": 5,
  "data": "++++++++ P    ++     ... "
}
  1. 1의 json을 2차원 배열로 변환하고 해달 배열을 화면에 출력하는 함수를 작성하세요.. 단 - 는 공백으로 바꾸어 출력합니다.
function drawMap(json)

작성 프로그램 실행 결과 예시 (자바스크립트)

> var map_data="10,5\n++++++++++\n+-P------+\n+--------+\n+-----o--+\n++++++++++\n"
> var json = parseData(map_data)
> drawMap(json)
++++++++++
+ P      +
+        +
+     o  +
++++++++++

제출 요령

  • github 프로젝트 생성 및 해당 프로젝트에 업로드 후 github 링크를 제출합니다.
  • 프로젝트 설명 및 실행환경을 README.md에 기술합니다.
  • 완성은 못해도 무방하지만, 에러가 나는 프로그램은 제출하시면 안 됩니다.