분류 전체보기 2102

[Programmers] 외벽 점검

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/60062 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr weak와 dist 크기가 별로 크지 않기 때문에 단순 구현으로 풀 수 있는 문제였습니다. 알고리즘은 아래와 같습니다. 1. 외벽이 원형이므로 weak 벡터 크기를 두 배로 늘려 (각각의 약점 + n) 값들을 추가해줍니다. 1.1 기존 weak 벡터 사이즈를 weakSize라고 정의하겠습니다. 2. answer를 최댓값으로 설정합니다. (INT_MAX) 3. 취약지점을 모두 점검..

[Programmers] 공 이동 시뮬레이션

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/87391 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 주어진 쿼리의 역순으로 계산하면 AC를 받을 수 있는 문제였습니다. 알고리즘은 아래와 같습니다. 1. 열과 행의 범위를 나타내는 pair 변수를 선언하고 주어진 쿼리의 역순으로 진행합니다. 1.1 역순이므로 문제에서 주어진 방향은 반대가 되어야 합니다. ex) query(0, dx) -> 열 번호가 증가하는 방향으로 이동하는 쿼리로 치환 1.2 또한, 정방향으로 쿼리를 진행했을 ..

[Programmers] 카드 짝 맞추기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/72415 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 백트래킹과 다익스트라 알고리즘을 이용하여 푸는 문제였습니다. 두 지점을 이동할 때 최소 조작 횟수를 다익스트라 알고리즘을 통해 구하는 것이 핵심이었습니다. 4 * 4 보드판이기 때문에 백트래킹을 통해 모든 경우의 수를 구하더라도 TLE가 발생하지 않으며 보다 자세한 내용은 코드를 통해 판단할 수 있을 것이라고 생각됩니다! 개발환경: Programmers IDE 지적, 조언, 질문..

백준 15235번 Olympiad Pizza

문제 링크입니다: https://www.acmicpc.net/problem/15235 15235번: Olympiad Pizza The contestants that get a slice are, in order: 1, 2, 3, 4, 2, 4, 2, 4, 4. So at t=1s the first contestant get all slices, at t=3s the third contestant gets a slice, at t=7s the second student finishes and finally at t=9s the fourth student gets the last s www.acmicpc.net 간단한 큐 구현 문제였습니다. N의 최댓값이 1,000이기 때문에 단순 구현으로 풀 수 있는 문제..

알고리즘/BOJ 2022.08.04

[Git] Invocation failed Unexpected end of file from server

개요 안드로이드 스튜디오에서 개발한 commit 내역을 깃헙에 push 하려는데 아래와 같은 에러 메시지와 함께 정상적으로 작동이 되지 않았습니다. (개발 환경은 mac이었습니다.) 원인 깃헙에서 2021년 8월부터 인증에 password 방식이 아닌 token 방식으로 전환하면서 발생하는 오류라고 합니다. (저 같은 경우 2022년 8월인데 왜 이제야 위 에러가 발생했는지는 잘 모르겠습니다.) 해결 방법 이미 개발냥발님이 잘 정리해주신 내용이 있어 개발냥발님 포스팅 링크를 첨부합니다. 개발냥발님 감사합니다! [Mac] GitHub push token 오류 해결 Github 오류 7.29일 새벽 갑자기 git push가 안 되는 현상을 겪었다. 오류의 첫 줄이 무슨 말이냐면 Password 인증방식이 일..

[DEV] 기록 2022.08.03

[Programmers] 캠핑

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/1833 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr n이 최대 5000이라 O(n^3)으로 풀 수 없는 문제라고 생각했는데 적절한 가지치기를 진행하니 AC를 받을 수 있는 문제였습니다. 사실 문제에서 주어진대로 구현을 하고 제출을 해봤는데 얼떨결에 맞은 문제라 제대로 풀었는지 잘 모르겠습니다. 알고리즘은 아래와 같습니다. 1. 우선, data 벡터를 y좌표(문제에서는 x좌표라고 칭함)를 기준으로 정렬을 했습니다. 2. 쐐기의 모든 ..

[Programmers] 호텔 방 배정

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/64063 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Union Find를 이용하여 풀어야 하는 문제였습니다. k의 범위가 큰 것을 보고 이분탐색으로 접근했다가 도저히 모르겠어서 ChanBLOG님 글을 참고하여 풀 수 있었던 문제였습니다. https://chanhuiseok.github.io/posts/prog-1/ [2019 카카오 겨울인턴십] 호텔 방 배정 컴퓨터/IT/알고리즘 정리 블로그 chanhuiseok.github.io..

[C++ STL] map vs unordered_map

개요 프로그래머스 호텔 방 배정 문제를 푸는데 자료구조로 map을 사용할 경우 TLE가 발생하지만 unordered_map을 사용할 경우 실행 시간이 훨씬 빨라져 AC를 받을 수 있었습니다. 이에 따라 이 두 자료구조의 차이점을 알고 싶었습니다. 다행히도 Peter Ahn님이 잘 정리하신 게시글이 있었고 저는 해당 게시글을 짧게 요약해보겠습니다. https://gracefulprograming.tistory.com/3 [C++] map vs hash_map(unordered_map) 개요 hash_map은 비표준 Container인데 반해(stdext namespace에 포함) unordered_map은 C++11에서 STL 표준 Container로 추가되었으며, (사실 TR1부터 추가되었지만 C++11..

[DEV] 기록 2022.07.29

[Java Secure Coding] TOCTOU

개요 작성한 코드에 대해 보안성 검토를 받았는데 파일에 대해 TOCTOU 문제가 발생할 수 있다는 코멘트를 받았습니다. 제가 작성한 코드는 아래와 같았습니다. if (file.exists()) { file.delete(); } 원인 싱글 쓰레드일 경우에는 위 코드가 문제없겠지만 멀티 쓰레드 환경에서는 위 코드에 대해 race condition이 발생할 수 있습니다. TOCTOU는 Time Of Check to Time Of Use의 줄임말인데 이 말은 즉슨 file이 존재하는지 확인한 시점에는 파일이 존재할 수 있으나 파일을 삭제하려고 하는 시점에 이미 해당 파일이 삭제되었을 수 있다는 뜻입니다. 정리를 하자면 멀티 쓰레드 환경에서 동시에 해당 파일에 접근하여 나중에 들어온 요청이 먼저 들어온 요청보다 ..

[DEV] 기록 2022.07.29