본문 바로가기

분류 전체보기228

[소프티어 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.
문법 정리 입력 빠르게 받기 : 1) 줄바꿈 문자까지 import sys a = sys.stdin.readline() 2) 줄바꿈 문자는 제외하고 싶을 때 import sys a = sys.stdin.readline().rstrip() print(a) print문 % print('Case #%d:' %(i+1), str(a+b)) 문자열 포맷 (문자 앞에 0채우기) - 딕셔너리 키 기준 정렬 : 우선 sorted() 한 후, 딕셔너리가 리스트로 정렬되어 반환된 것을 다시 딕셔너리로 - print('{0:02d}'.format(s)+'-'+'{0:02d}'.format(e)) : 숫자 자릿수 달라질 때 0채워 반환하기 - f'Room {변수}' 과 같이 표현할 수도 있다. - f'{x[0]:02d}-{x[1]}' :.. 2023. 11. 1.
[백준 골드4] 문자열 폭발(스택) [백준 골드4] 문자열 폭발 문제 상근이는 문자열에 폭발 문자열을 심어 놓았다. 폭발 문자열이 폭발하면 그 문자는 문자열에서 사라지며, 남은 문자열은 합쳐지게 된다. 폭발은 다음과 같은 과정으로 진행된다. 문자열이 폭발 문자열을 포함하고 있는 경우에, 모든 폭발 문자열이 폭발하게 된다. 남은 문자열을 순서대로 이어 붙여 새로운 문자열을 만든다. 새로 생긴 문자열에 폭발 문자열이 포함되어 있을 수도 있다. 폭발은 폭발 문자열이 문자열에 없을 때까지 계속된다. 상근이는 모든 폭발이 끝난 후에 어떤 문자열이 남는지 구해보려고 한다. 남아있는 문자가 없는 경우가 있다. 이때는 "FRULA"를 출력한다. 폭발 문자열은 같은 문자를 두 개 이상 포함하지 않는다. 입력 첫째 줄에 문자열이 주어진다. 문자열의 길이는 .. 2023. 11. 1.
[백준 실버3] 수열(누적합) 보호되어 있는 글 입니다. 2023. 11. 1.