본문 바로가기

알고리즘 문제풀이/소프티어10

[소프티어 Lv3] [HSAT 3회 정기 코딩 인증평가 기출] 플레이페어 암호 [소프티어 Lv3] [HSAT 3회 정기 코딩 인증평가 기출] 플레이페어 암호 풀면서 재밌었던 점 대학교 학부생활을 마치고 현대자동차에 프로그래머로 취직한 사회초년생 현빈이는 팀장님에게 보안에 관련한 지식이 하나도 없음을 들키고 말았다. 그래서 현빈이는 업무시간 틈틈이 보안과 관련된 주제들을 공부하고 있다. 오늘 공부할 주제는 암호화 방식중 하나인 Playfair cipher(플레이페어 암호)다. Playfair cipher는 알파벳으로 이루어진 어떤 문자열(평문; plaintext)을 암호화하는 방법으로, 이를 위해 알파벳으로 이루어진 문자열인 키(key)가 필요하다. Playfair cipher는 빈도분석을 어렵게 하기 위해 한번에 두 글자 단위로 암호화를 진행하며, 5×5크기의 표를 사용하기 때문에.. 2023. 11. 3.
[소프티어 Lv3] [HSAT 1회 정기 코딩 인증평가 기출] 로봇이 지나간 경로 (DFS/BFS) [소프티어 Lv3] [HSAT 1회 정기 코딩 인증평가 기출] 로봇이 지나간 경로 로보틱스 분야는 현대자동차그룹의 미래 성장동력인 5대 신사업 중 하나이다. 현대자동차그룹에 입사하여 로봇 연구 개발 부서에 막 입사한 당신은 아래와 같은 기능을 하는 간단한 로봇의 사용법을 전달받았다. 로봇은 H행 W열의 2차원 격자판 위를 돌아다닌다. 격자판의 각 칸은 정사각형 모양이며, 로봇은 격자판의 칸 하나를 차지한다. 로봇은 오른쪽(동), 왼쪽(서), 아래(남), 위(북) 중 한 방향을 바라볼 수 있다. 로봇의 이동을 제어하는 명령어는 다음과 같이 세 가지이다. * L: 로봇이 왼쪽으로 90도 회전하며, 이에 따라 바라보는 방향이 바뀐다. * R: 로봇이 오른쪽으로 90도 회전하며, 이에 따라 바라보는 방향이 바뀐.. 2023. 11. 3.
[소프티어 Lv2] 장애물 인식 프로그램(DFS, BFS) [소프티어 Lv2] 장애물 인식 프로그램 https://softeer.ai/practice/6282 Softeer - 현대자동차그룹 SW인재확보플랫폼 자율주행팀 SW 엔지니어인 당신에게 장애물과 도로를 인식할 수 있는 프로그램을 만들라는 업무가 주어졌다. [그림 1] 지도 예시 우선 [그림 1]과 같이 정사각형 모양의 지도가 있다. 1은 장애물이 softeer.ai 자율주행팀 SW 엔지니어인 당신에게 장애물과 도로를 인식할 수 있는 프로그램을 만들라는 업무가 주어졌다. [그림 1] 지도 예시 우선 [그림 1]과 같이 정사각형 모양의 지도가 있다. 1은 장애물이 있는 곳을, 0은 도로가 있는 곳을 나타낸다. 당신은 이 지도를 가지고 연결된 장애물들의 모임인 블록을 정의하고, 불록에 번호를 붙이려 한다. 여.. 2023. 11. 3.
[소프티어 Lv3] 스마트 물류(구현) [소프티어 Lv3] 스마트 물류 https://softeer.ai/practice/6279 Softeer - 현대자동차그룹 SW인재확보플랫폼 현대자동차그룹은 주요 물류센터에 각종 자동화 기기를 도입하며 ‘스마트 물류’를 실현하고 있다. 최근에는 자동차 반조립 부품(KD, Knock-Down) 물류기지인 KD센터에 포장 관련 자동화 로봇 개발 softeer.ai 현대자동차그룹은 주요 물류센터에 각종 자동화 기기를 도입하며 ‘스마트 물류’를 실현하고 있다. 최근에는 자동차 반조립 부품(KD, Knock-Down) 물류기지인 KD센터에 포장 관련 자동화 로봇 개발과 구축을 완료했다. 기존 수작업으로 진행하던 일부 작업 라인을 자동화 기기로 전환해 생산성을 높이기 위한 시도다. 기다란 작업 라인에 로봇과 부품이.. 2023. 11. 2.
[소프티어 Lv2] 지도 자동 구축(DP) [소프티어 Lv2] 지도 자동 구축 https://softeer.ai/practice/6280 Softeer - 현대자동차그룹 SW인재확보플랫폼 현대자동차그룹이 레벨3 자율주행차 상용화 목표에 발맞춰 총력을 다하고 있는 가운데, 국내 최고 수준의 지도 구축 기술력을 보유한 현대엠엔소프트는 자율주행에 필요한 정밀지도를 제작해 softeer.ai 현대자동차그룹이 레벨3 자율주행차 상용화 목표에 발맞춰 총력을 다하고 있는 가운데, 국내 최고 수준의 지도 구축 기술력을 보유한 현대엠엔소프트는 자율주행에 필요한 정밀지도를 제작해 배포하고, 기술 고도화를 위한 연구에 매진하고 있다. 최근에는 도로 데이터를 기반으로 자동으로 정밀지도를 구축하는 ‘지도 자동 구축(Map Auto Creation, 이하 MAC)’ 기술.. 2023. 11. 2.
[소프티어 Lv2] [21년 재직자 대회 예선] 회의실 예약(문자열 포맷) [소프티어 Lv2] [21년 재직자 대회 예선] 회의실 예약 https://softeer.ai/practice/6266 Softeer - 현대자동차그룹 SW인재확보플랫폼 회사에는 N개의 회의실이 있다. 수많은 팀이 모여 토론하고 업무를 처리하기 위해서는 회의실이 필수적이다. 내부망에 아주 간단한 회의실 예약 시스템이 있지만 편의성이 매우 떨어진다. 단순 softeer.ai [내 풀이] - 단순 구현 문제, 문자열 포맷 - 연속된 0 구간 반환하는 것 더 간결하게 표현할 수 있는 방법은 없을까? import sys # 입력 n, m = map(int,input().split()) rooms = dict() for i in range(n): rooms[input()] = [0,0,0,0,0,0,0,0,0] .. 2023. 11. 2.
[소프티어 Lv3] [HSAT 7회 정기 코딩 인증평가 기출] 순서대로 방문하기(DFS) [소프티어 Lv3] [HSAT 7회 정기 코딩 인증평가 기출] 순서대로 방문하기 https://softeer.ai/practice/6283 Softeer - 현대자동차그룹 SW인재확보플랫폼 현대자동차에서는 부드럽고 빠른 변속이 가능한 8단 습식 DCT 변속기를 개발하여 N라인 고성능차에 적용하였다. 관련하여 SW 엔지니어인 당신에게 연속적으로 변속이 가능한지 점검할 수 있는 프 softeer.ai [내 풀이] - 도착만 체크하는 것이 아니라 경로가 중요하므로 bfs가 아닌 dfs를 사용해야 한다. - 순서대로 방문을 체크하는 방법이 핵심이었던 문제. 순서대로 방문을 하지 못한 경우, 그 이후의 경로탐색을 중단해야 한다(return 이 아니라 continue....). * 순서대로 방문을 하지 못한 것 :.. 2023. 11. 2.
[소프티어 Lv3] 8단 변속기 [소프티어 Lv3] 8단 변속기 https://softeer.ai/practice/6283 Softeer - 현대자동차그룹 SW인재확보플랫폼 현대자동차에서는 부드럽고 빠른 변속이 가능한 8단 습식 DCT 변속기를 개발하여 N라인 고성능차에 적용하였다. 관련하여 SW 엔지니어인 당신에게 연속적으로 변속이 가능한지 점검할 수 있는 프 softeer.ai [내 풀이] - 단순하게 생각해도 되는 순수 조건문 문제였다. - 정답률이 70%라고 해서 함정이 있는 줄 알았는데... 아니었다. (이게 왜 lv3이지?) import sys ipt = list(map(int, sys.stdin.readline().split(' '))) ascList = [1, 2, 3, 4, 5, 6, 7, 8] desList = asc.. 2023. 11. 2.
[소프티어 Lv3] 택배 마스터 광우(완전탐색) [소프티어 Lv3] 택배 마스터 광우 https://softeer.ai/practice/6273 Softeer - 현대자동차그룹 SW인재확보플랫폼 여름 휴가를 떠나기 위해 용돈이 필요했던 광우는 H택배 상하차 아르바이트를 지원 했다. 광우는 평소에 운동을 하지않아 힘쓰는 데에 자신이 없었지만, 머리 하나 만큼은 비상해 택배가 내려오 softeer.ai [내 풀이] - from itertools import permutations - n이 작기 때문에 모든 경우의 수에 대하여 계산했다. # 완전 탐색 import sys from itertools import permutations n, m, k = map(int, input().split()) rails = list(map(int, input().spli.. 2023. 11. 2.
[소프티어 Lv1] 근무 시간, A+B, 주행거리 비교하기, [21년 재직자 대회 예선] 비밀 메뉴(문자열) [소프티어 Lv1] 근무 시간 https://softeer.ai/practice/6254 Softeer - 현대자동차그룹 SW인재확보플랫폼 당신은 인사팀 직원으로, 각 직원의 근태를 확인하고자 한다. 당신의 회사는 자율출퇴근제를 실시하기 때문에 각 직원이 정확히 몇 시에 출근하는 것은 중요하지 않고, 총 근로 시간이 몇 분인 softeer.ai [내 풀이] - 간단한 문자열 처리 문제 times = 0 for i in range(5): ipt = input() sh, sm, eh, em = int(ipt[:2]), int(ipt[3:5]), int(ipt[6:8]), int(ipt[9:11]) time = (eh-sh)*60 +(em-sm) times += time print(times) [소프티어 Lv.. 2023. 11. 1.