개발팀 퀴즈 또는 구현 테스트 모음

아래 모든 퀴즈 및 구현 풀이를 하실 필요는 없습니다.
다만 지원하시는 분야와 연관성이 있는 1개이상 퀴즈 풀이와 개발소스를 보내주시면 되겠습니다.
각 퀴즈 및 구현 대상에 대하여 구현 방법과 이유를 설명해주시면 더 좋습니다~!
01 급하다 급해~! 어떻게 해야 최적의 조리 배치가 가능할까?
문제 설명
저희 CNP 튀김이바사사삭 분식에서는 텐동급 튀김을 배달 분식으로 공급하고 있습니다.
분식이다 보니, 떡볶이도 같이 공급하고 있습니다. 그런데 주문이 폭증하면서 고민이 생겼습니다.
상품/재료별로 서로 다른 조리시간으로 눅눅하지 않은 튀김과 불지 않는 떡볶이를 고객에게 드리기 위해서 조리 완료시간을 알려드리고,
최적의 조리시간 배치가 필요합니다. 어떻게 하면 좋을까요?
1. 재료별 조리시간
(1)새우 (튀김) : 1분
(2)오징어 (튀김) : 1분
(3)고구마 (튀김) : 1분 30초
(4)깻잎 (튀김) : 30초
(5)옛날 떡볶이 : 5분
(6)로제 떡볶이 : 6분
2. 조리기기 조건
(1)튀김기 : 2개 (튀김기 1개에서는 동시에 4개까지 조리가 가능합니다.)
(2)떡볶이 조리기 : 4개 (1개의 조리기에서는 1개의 재료만 조리가 가능합니다.)
3. 판매 상품(명) 구성
(1) 모듬튀김 A 형 : 새우, 오징어, 고구마, 깻잎
(2) 모듬튀김 B 형 : 새우, 고구마, 깻잎
(3) 모듬튀김 C형 : 새우, 오징어
(4) (단품) 새우 튀김
(5) (단품) 오징어 튀김
(6) (단품) 옛날 떡볶이
(7) (단품) 로제 떡볶이
(8) 모듬 메뉴 1 형 : 옛날 떡볶이, 모듬튀김 A형
(9) 모듬 메뉴 2 형 : 로제 떡볶이, 모듬튀김 B형
문제 1-1 총 5명이 아래와 같이 주문하였습니다. 제품조리 완료후 1분 30초안에 포장 가능하도록 조리시간을 배치하고 고객에게 조리완료시간을 알려주시기 바랍니다.
(아래 번호는 주문이 들어온 순서이며 주문 시간이 표기되어 있습니다. 최적의 동시 포장을 위해 주문 반드시 주문 순서대로 배치할 필요는 없지만, 제품 조리 완료는 오전 11시 이전에 완료되어야 합니다.)
1) 모듬 메뉴 1형 * 2개 (오전 10시 00분)
2) 모듬 메뉴 2형 * 1개 (오전 10시 5분)
3) 모듬 튀김 A형 * 2개 (오전 10시 6분)
4)모듬 튀김 C형 * 3개, 모듬 메뉴 2형 * 3개 (오전 10시 10분)
5)단품 새우 튀김 * 10개 (오전 10시 20분)
문제 1-2 당 문제의 논리상 오류가 있을까요? 있다면 어떤 이유일까요?
02 약속 일정을 캘린더에 등록하고, 친구에게 공유하고 싶어요~!
문제 설명
친구와 이번주 토요일에 신사동 가로수길에서 만나기로 하였습니다. 캘린더에 약속 일정과 장소를 등록하고,
지도에서 추천 맛집을 검색하여 친구에게 메시지로 공유하고 싶습니다. 어떻게 하면 좋을까요?
구현 방법 조건
1) App (IOS 또는 안드로이드) 또는 Web
2) OpenAPI 연동 (구글/애플 캘린더, 구글/애플 지도, 카카오/Line)
3) 구글 또는 애플 캘린더에 일정 등록
4) 구글 또는 애플 지도에서 맛집 검색
5) 카카오 또는 Line에 메시지 전송
03 채팅 서비스는 어떻게 구현해야 할까요?
문제 설명
CNP에서는 신규 서비스 개발에서 다양한 분야에 채팅 서비스를 적용하려고 합니다. 소셜, 커머스 등에 적용하려고 합니다.
사용자 간의 관계, 추천, 커뮤니케이션 도구로 만들어가려고 하는데요. 어떤 채팅 기술을 적용해서 어떤 아키텍쳐로 구성하면 좋을까요?
구현 방법 조건
1) 사용자간 실시간 채팅
2) App (IOS 또는 안드로이드)기반 클라이언트 채팅
3) 이미지 및 동영상 파일도 전송하고자 합니다. 어떻게 적용하면 좋을까요?
4) 전송/확인된 파일은 서버 보존 유효기일은 3일입니다.
5) 적용 범위는 자유 주제입니다.
04 제가 필요한 데이터는 이런거 저런거 요런거에요~!
문제 설명
주어진 문자열을 가지고 아래 문제에 대한 프로그램을 작성해주세요. 구현 언어는 자유롭게 선정해주시고요. (데이터는 공백 없이 쉼표로만 구분되어 있습니다.)
- 이사부, 장보고, 대조영, 강감찬, 문익점, 이순신, 김두한, 이율곡, 이퇴계, 이사부, 장보고, 문익점, 이순신, 김두한, 이율곡, 이순신, 김두한, 이율곡, 김정민 -
문제 4-1: 김씨와 이씨는 각각 몇 명인가요?
문제 4-2: “이순신”이란 이름은 몇 번 반복되나요?
문제 4-3: 중복을 제거한 이름을 출력하세요.
문제 4-4: 중복을 제거한 이름을 내림차순으로 정렬하여 출력하세요.
05 통계가 어려워요~! 수학문제 풀어주세요~!
문제 설명
저희 CNP에서 매출 통계를 만들다 보니, 공통된 통계 계산이 필요합니다. 어떤 언어로 만들어져도 괜찮아요~! 통계 문제를 풀어주세요~!
문제 5-1: 통계계산 중에 소수(Prime number)가 들어오면 계산이 이상한 경우가 있습니다. 사용자로부터 어떤 숫자 Χ를 입력 받고, 그 이하의 모든 소수를 출력하는 프로그램이 필요합니다. 소수를 구하는 프로그램을 부탁드려요.
문제 5-2: CNP에서는 외식업을 하다 보니, 매월 매출을 분석하고, 매월 평균과 표준편차를 구하고 있습니다. 2021년 매월 매출 평균과 표준 편차, 분기별 매출 평균과 표준 편차를 구하는 프로그램을 부탁드려요.
06 이진트리가… 무엇인가요?
문제 및 문제 설명
이진 트리의 순회 방법은 전위(Preoder), 중위(inorder), 후위(Postorder) 순회가 있다고 합니다.
모두 왼쪽 서브 트리보다 먼저 방문하지만, 트리의 루트를 언제 방문했는지는 서로 다르다고 합니다. 양의 정수 X가 주어졌을 때,
전위, 중의 및 후위 순회에서 각 방법에 따라 X번째 방문한 정점을 찾는 프로그램을 부탁드려요.
tree quiz
- 위의 이진트리 다이어그램에서 전위 순회하면 1,2,4,7,3,5,6의 순서대로 방문합니다. 중위 순회하면 4,7,2,1,5,3,6이고, 후위 순회하면 7,4,2,5,6,3,1입니다. - 위 다이어그램에서 전위 순회에서 4번째로 방문한 정점은 7, 후위 순회에서는 6번째로 방문한 정점은 3입니다.
입력 조건: 입력은 Txt 파일로 입력하고, 입력 파일의 첫 줄에 이진 트리의 정점의 개수 N(1 < N <=10,000)이 주어집니다. 트리의 정점은 1부터 N으로 나타냅니다. 이어지는 ‘N-1’개의 줄 각각에는 하나의 간선을 나타내는 세 정수 a, b, c가 주어집니다. 여기에서 정점 a는 정점 b의 부모이고, c가 0이면, 정점 b는 외쪽 자신, c가 1이면 정점 b는 오른쪽 자식임을 나타냅니다. (1<=a, b<N, c=0 or 1), 다음 줄에는 두 정수 h, k가 주어지는데 h가 1이면 전위 순회, h가 2이면 중위 순회, h가 3이면 후위 순회를 나타냅니다. (h = 1, 2, or 3, 1 <=k<=N)
출력: 출력은 txt 파일 출력으로 하며, 출력은 h에 해당하는 순회를 수행했을 때, k 번째 방문한 정점을 출력합니다.
입출력예시
tree quiz
07 우리나라돈 20만원을 지불하는 방법은?
문제 설명
우리나라 화폐는 아래와 같이 1원 동전부터 5만원권 지폐까지 모두 10가지가 있습니다.
1원, 5원, 10원, 50원, 100원, 500원, 1000원, 5000원, 10000원, 50000원
우리나라 돈으로 10만원을 지불하는 방법은 간단하게 코딩하여 9중 루프를 쓰거나, 미모이제이션과 함께 재귀 함수를 쓰기도 하고,
코딩 문제를 많이 풀어 보신 분은 흔히 DP라고 알려진 동적계획법을 사용합니다.
이렇게 풀면 10만원을 지불하는 방법은 모두 73905621698546408 가지가 있음을 알 수 있습니다.
문제 7-1: 그렇다면 상기 10가지의 모든 화폐를 이용해서 20만원을 지불하는 방법은 도출하는 소스를 만들어주세요. 해당 빌드 소스와 결과 파일을 첨부해주세요. Java, 파이선 등 랭귀지는 상관없습니다.
문제 7-2: 상기 문제는 https://euler.synap.co.kr/quiz=10에서 간단한 다항식 예제가 있습니다. 좀 더 좋은 풀이는 없을까요?
08 엑셀 및 스프레드시트 컬럼의 영문명칭 계산?
문제 설명
웹 오피스 셀(Cell)이나 마이크로소프트 엑셀(Excel)과 같은 스프레드시트 프로그램은 행(row, 1,048,576행)는 숫자, 열(column, 16,384열)을 표시하기 위해 알파벳 대문자를 사용합니다. 예를 들면 1열=A, 2열=B, 26열=Z 와 같이 표시되고, 26열이 넘어가면 앞쪽에 문자 하나를 추가해서 27열=AA, 28열=AB, 52열=AZ, 53열=BA가 되며, 동일한 원리로 ZZ의 다음 열은 AAA, AAB, ... 처럼 이어집니다. 숫자를 입력 받으면 그 순서에 대응되는 스프레드시트 컬럼을 출력하는 프로그램을 작성하는 것이 문제입니다.
문제 8-1: 입력 숫자 목록은 아래와 같습니다. 출력되는 영문 문자는?
10000, 55, 37, 20, 415, 1, 35, 100, 2021, 202104
문제 8-2: 만약 1,000만(107) 번째 컬럼이 있다면, 알파벳 영문자는 어떻게 될까?
문제 8-3: 상기 문제는 https://euler.synap.co.kr/quiz=4에서 간단한 다항식 예제가 있습니다. 좀 더 좋은 풀이는 없을까요?