전체 글 241

[PCCP 기출문제] 3번 / 충돌위험 찾기

문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 풀이우선 시작지점과 거쳐야하는 지점을 구한다.증가하는 시간을 인덱스로 두고 이동하는 좌표들을 dict에 모두 저장한다.이 때 r좌표의 이동을 c좌표보다 우선한다는 조건에 따라 사방탐색이 아닌 [r, c]의 값을 따로 이동시켜야하는 것이 핵심이다.이동을 마쳤다면 dict에서 같은 시간에 같은 경로를 방문한 케이스가 있는지 확인하여 있다면, answer을 증가시킨다.defaultdict✅ 일반 딕셔너리는 key가 없을 때 오류가 나지만, defaultdict는 key가 없으면 자동으로 기본값을 만들어준다.→ key가 없는데도 path[1]에 바로 ...

개발 역량 강화를 위한 시큐어코딩 가이드

SW개발보안 관련 취약점오픈소스(OSS) 취약점현대 소프트웨어의 80% 이상은 오픈소스 코드로 구성되어 있다. 이로 인해 다음과 같은 보안 문제가 자주 발생한다. 최근에는 과학기술정보통신부, 국가정보원, 디지털플랫폼정부위원회가 협력하여 'SW 공급망 보안 가이드라인 1.0'을 배포한 바 있다.참고: SW 공급망 보안 가이드라인 KISA 한국인터넷진흥원안녕하세요. 과학기술정보통신부(한국인터넷진흥원), 국가정보원, 디지털플랫폼정부위원회가 합동으로 '소프트웨어(SW) 공급망 보안 가이드라인 1.0'을 마련하였으니 업무에 참고하시기 바랍니www.kisa.or.kr1. 방치된 오픈소스 사용보안 패치가 적용되지 않은 채 오래된 오픈소스를 사용하는 경우, 이미 알려진 취약점이 그대로 노출될 수 있다. 따라서 오픈소스..

개발/사내교육 2025.03.28

[Python] 프로그래머스 코드 챌린지 택배 상자 꺼내기

문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이1. 상자를 쌓기 위한 높이 계산모듈러 연산 후 나머지가 있으면 한 줄 더 쌓아야 하므로 +1을 추가2. 배열 채우기최종 상자의 개수 n이 될 때까지 배열을 채운다.n보다 커지면 0으로 유지 → 상자를 꺼낼 때 연산하기 쉽게 하기 위함짝수 번째 줄은 반대로 쌓아야 하므로 reverse() 함수 사용3. 상자 꺼내기맨 윗칸이 비어 있으면 동작이 한 번 덜 수행되므로 -1즉, 맨 윗칸이 0이면 비어 있는 것맨 윗칸이 0이 아니면 비어 있지 않으므로→ 전체 높이에서 상자가 있는 열의 크기를 빼준다.코드def solution(n, w, num): ..

[Python] 프로그래머스 PCCP 기출문제 1번 / 동영상 재생기

문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이문제를 따라 구현하면 되는 단순 구현 문제이나, 오프닝 구간 처리에 신경써야한다.동영상을 재생하기 전 오프닝 구간에 있다면 오프닝이 끝나는 구간으로 이동 후 연산을 시작해야하고, 모든 연산을 마친 후, 오프닝 구간 체크구현 완료 후 출력 전 한자리 숫자인 경우 앞에 0을 채우기 위해 zfill 함수를 사용하여 출력 형식 변환문제 상황✅ 올바른 오프닝 구간 처리를 위해 고려해야 할 사항현재 시간이 오프닝 구간에 포함되어 있다면, 오프닝이 끝나는 시간으로 이동해야 한다.오프닝이 시작하는 분과 끝나는 분이 같지 않을 경우도 명확하게 체크해야 한다.단..

CANoe로 테스팅 환경 구축하기

1. CANoe 설치VECTOR홈페이지에서 다운로드 가능 https://www.vector.com/int/en/support-downloads/download-center/#product=%5B%2263803%22%5D&tab=1&pageSize=30&sort=date&order=desc2. 원하는 위치에 압축 해제 후 autorun 실행3. Imstall CANoe필요한 모든 항목 install로 변경 후 NextInstall 완료 후 해당 화면에서 Exit4. Device Driver 설치Download Device Driver 클릭Device Driver를 사용하여 장비의 License를 인증해야한다.가장 최신 버전으로 설치 후 압축 해제5. 업데이트 해야하는 항목 업데이트필요한 부분 Update ..

[Python/C++] 백준 10819번 차이를 최대로

문제N개의 정수로 이루어진 배열 A가 주어진다. 이때, 배열에 들어있는 정수의 순서를 적절히 바꿔서 다음 식의 최댓값을 구하는 프로그램을 작성하시오.|A[0] - A[1]| + |A[1] - A[2]| + ... + |A[N-2] - A[N-1]|입력첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다.출력첫째 줄에 배열에 들어있는 수의 순서를 적절히 바꿔서 얻을 수 있는 식의 최댓값을 출력한다.입력 예제620 1 15 8 4 10출력 예제62문제 풀이n크기의 순열을 저장할 리스트를 만들어 연산을 시행할 인덱스 정보를 저장idx == n 조건에서 새로운 순열이 만들어지면 주어진 연산을 수..

2024년 회고

1. SSAFY 수료졸업 후 개발자로 취업하기 위해 여러 공고들을 찾아본 결과, 역량을 더 쌓아야겠다는 생각에 싸피에 입과하게 되었다.전공이 컴공이 아닌 임베디드였기에 SW개발 지식 및 프로젝트 경험이 부족했고, 싸피에서 이 부분을 채우고자 노력했다.주변에 실무경험을 쌓고 온 사람들이 많아 항상 부족함을 느꼈고, 그 속에서 열심히 배워 수료하는 것을 목표로 삼았다.2학기 때 진행했던 3번의 프로젝트는 몸도 마음도 힘들었지만, 짧은 시간동안 가장 많은 역량을 쌓을 수 있었고, 무사히 수료를 할 수 있었다. 2. 취업싸피를 마친 후 Job Fair를 통해 운좋게 곧바로 취업을 하게 되었다.2024년의 가장 큰 목표는 싸피 수료와 취업이었기에 취업을 하며 가장 큰 목표를 이루게 되었다.현재 JAVA 개발이 아..

카테고리 없음 2025.01.01

[Python] 백준 9082번 지뢰찾기

문제https://www.acmicpc.net/problem/9082입력입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 첫 줄에 배열의 크기 N(1 ≤ N ≤ 100)이 주어지고, 그 다음 두 줄에 걸쳐서 배열이 주어진다. 첫 줄에는 항상 숫자만이 나타나며 이 숫자들 사이에 공백은 없으며, 둘째 줄에 주어지는 입력들 사이에도 공백은 없다. 그리고 이 숫자들은 올바른 값만이 입력으로 들어온다(지뢰의 위치에 대해 불가능한 값은 입력으로 주지 않는다).출력각 테스트 케이스에 대해서 주어진 배열에 있는 모든 지뢰의 수를 한 줄에 하나씩 출력한다. 지뢰의 수가 여럿이 될 수 있으면 가능한 지뢰의 수 중 최댓값을 출력한다.입력 예제2511122####*523321##..

Algorithm/Greedy 2024.10.17

[Python] 백준 31649번 Milk Exchange

문제https://www.acmicpc.net/problem/31649입력The first line contains N and M.The second line contains a string s1s2…sNs_1s_2\ldots s_Ns1​s2​…sN​ consisting solely of the characters ‘L’ or ‘R’, denoting the direction each cow will pass their milk in.The third line contains integers a1,a2,…,aNa_1, a_2, \ldots, a_Na1​,a2​,…,aN​, the capacities of each bucket.출력Output an integer, the sum of milk among a..

[Python] 백준 2493번 탑

문제https://www.acmicpc.net/problem/2493입력첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 이상 100,000,000 이하의 정수이다.출력첫째 줄에 주어진 탑들의 순서대로 각각의 탑들에서 발사한 레이저 신호를 수신한 탑들의 번호를 하나의 빈칸을 사이에 두고 출력한다. 만약 레이저 신호를 수신하는 탑이 존재하지 않으면 0을 출력한다.입력 예제56 9 5 7 4출력 예제0 0 2 2 4문제 풀이완탐을 진행하면 시간초과가 발생하므로 stack을 사용하여 풀이해야한다.stack을 생성해서 0번째 인덱스를 넣는다.이후 stack에 ..