본문 바로가기
반응형

IT 톺아보기75

백준 1107번 | 리모컨 - python https://www.acmicpc.net/problem/1107 문제 수빈이는 TV를 보고 있다. 수빈이는 채널을 돌리려고 했지만, 버튼을 너무 세게 누르는 바람에, 일부 숫자 버튼이 고장났다. 리모컨에는 버튼이 0부터 9까지 숫자, +와 -가 있다. +를 누르면 현재 보고있는 채널에서 +1된 채널로 이동하고, -를 누르면 -1된 채널로 이동한다. 채널 0에서 -를 누른 경우에는 채널이 변하지 않고, 채널은 무한대 만큼 있다. 수빈이가 지금 이동하려고 하는 채널은 N이다. 어떤 버튼이 고장났는지 주어졌을 때, 채널 N으로 이동하기 위해서 버튼을 최소 몇 번 눌러야하는지 구하는 프로그램을 작성하시오. 수빈이가 지금 보고 있는 채널은 100번이다. 입력 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤.. 2022. 9. 15.
[백준 14503번 | 삼성 SW 역량 테스트 기출] 로봇 청소기 - python 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 문제 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 벽 또는 빈 칸이다. 청소기는 바라보는 방향이 있으며, 이 방향은 동, 서, 남, 북중 하나이다. 지도의 각 칸은 (r, c)로 나타낼 수 있고, r은 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로 부터 떨어진 칸의 개수이다. 로봇 청소기는 다음과.. 2022. 9. 14.
2022년 4차 Softeer 정기 역량 진단 코딩테스트 후기 9월 7일 현대자동차 그룹이 운영하고 있는 softeer에서 4차 정기 역량 진단 콘테스트를 진행했다. 일명 HSAT이라고 하는 시험인데 많은 대기업이 SW 인재를 확보하기 위해 자체 플랫폼을 제작하여 거기서 시험을 치고 일정 수준의 시험을 통과하면 인증서를 수여해주는 방식이다. 그중에서 현대 NGV에서 운영하는 소프티어(이하 'Softeer')는 현대자동차 그룹에서 진행하는 것으로 개인적으로는 시험 수준이 높다고 생각된다. 시험 방식은 노트북 캠과 휴대폰 캠을 둘 다 켜서 시험을 보는 방식이라서 시험 치기 전 독립된 공간에서 칠 수 있는지 확인하는 것이 시험에 집중할 수 있을 것이다. 이번 시험도 2문제를 180분(3시간) 동안 진행하는 것이었는데 3개 정도의 테스트 케이스만 주어지고 나머지 히든 케이.. 2022. 9. 7.
[백준 15686번 | 삼성 SW 역량 테스트 기출] 치킨 배달 - python https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 문제 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸, 왼쪽에서부터 c번째 칸을 의미한다. r과 c는 1부터 시작한다. 이 도시에 사는 사람들은 치킨을 매우 좋아한다. 따라서, 사람들은 "치킨 거리"라는 말을 주로.. 2022. 9. 1.
플로이드-와샬 알고리즘 해당 알고리즘은 그래프 이론에서 착안된 이론 중 하나로써 반의 가중치가 양수 뿐만 아니라 음수인 경우의 가중치를 가지는 이동 경로에서도 사용할 수 있어 이를 통해 최단 경로를 찾는 알고리즘이다. ​ 플로이드-와샬 알고리즘 자체는 경로를 반환하지 않지만 약간의 수정 작업을 거친다면 경로까지 반환할 수 있는 알고리즘을 만들 수 있다. ​ 해당 알고리즘 같은 경우는 각 꼭지점 쌍을 지나는 그래프의 모든 경로를 비교하기 때문에 3개의 중첩 for문이 사용된다. -> 이 때문에 시간복잡도가 O(n^3)이다. ​ 기본적으로 ShortPath{최단거리}(I, J, 0) = w(i, j) 이고, 이를 재귀적으로 이용할 경우, ShortPath(i,. J, k) = mininum(ShortPath(i, J, k - 1).. 2022. 8. 9.
OSI 7계층 네트워크 프로토콜이 통신하는 구조를 7개의 계층으로 분리하여 각 계층 간 상호 작동하는 방식을 정해 놓은 것 개요 통신이 일어나는 과정을 7단계로 크게 구분하여 한 눈에 들어올 수 있도록 정의했기 때문에 단계별로 파악할 수 있음. 계층 구성 물리 계층(허브, 리피터) 네트워크 데이터가 전송되는 물리적인 매체. 데이터는 0과 1의 비트열로 ON, OFF의 전기적 신호 상태로 이루어져 있음. 연결을 설정 및 종료하고 통신 자원을 공유하는 수단을 제공하며 디지털에서 아날로그 혹은 그 반대로 신호를 변환하는 역할. OSI 계층에서 가장 복잡한 계층으로 간주 데이터링크 계층(브리지, 스위치, 이더넷) 물리적인 네트워크를 통해 데이터를 전송하는 수단을 제공. 1홉 통신을 담당한다고도 말함. 주목적은 물리적인 장치를.. 2022. 8. 8.
백준 1991번 트리 순회 - python 해당 문제는 이진 트리의 전위 순회, 중위 순회, 후위 순회를 이해하고 있는지에 대한 문제라고 생각한다. 재귀를 이용해서 문제를 풀어 나갔는데, edge의 node들을 defaultdict에 리스트 형태로 저장해서 탐색을 진행해 나갔다. 순회하는 방식은 동일하지만 언제 출력을 진행하는 가에 차이에 따라 전위, 중위, 후위가 결정 된다. 그래서 아래의 함수를 보면 동일한 방식을 채택하고 있지만, 출력문의 위치만 다른 것을 볼 수 있다. def pre_order(n): if n != '.': print(n, end='') pre_order(edge[n][0]) pre_order(edge[n][1]) def in_order(n): if n != '.': in_order(edge[n][0]) print(n, e.. 2022. 7. 26.
백준 2004번 조합 0개의 개수 - python 처음 해당 문제를 봤을 때 팩토리얼을 활용하여 문제를 풀어도 되지만 시간초과가 날 것 같다는 생각이 들었다. 그러나 정말 그런지 궁금하니 한번 돌려보자.. from math import factorial n, k = map(int, input().split()) number = factorial(n) // (factorial(k) * factorial(n - k)) i = 0 while True: if not number % (10 ** i): i += 1 else: print(i - 1) break 해당 코드로 실행하니 당연하게 시가 초과가 발생했다. 이를 해결하기 위해 다른 방법에 대해 고민을 해 본 결과, m과 n-m의 최소값 만큼 반복문을 실행하는 방식을 진행해 보았다. n, k = map(int.. 2022. 6. 20.
SSR과 CSR SSR이란 * server-side rendering으로 서버에서 사용자에게 보여줄 페이지에 대한 작업을 모두 수행한 뒤 보여주는 방식. * SSR을 사용하면 모든 데이터가 매핑된 페이지를 Client에게 바로 보여줄 수 있음. * 서버를 통한 페이지 구성이라 CSR보단 페이지 구성 속도는 늦어지지만 전체적으로 콘텐츠의 구성 완료 속도는 빨라짐. * 또한, SEO도 쉽게 구성할 수 있음. * front-end와 back-end를 REST API를 통해 느슨하게 연결할 수 있음. CSR이란 * client-side rendering으로 client 에서 페이지를 구성에 대한 작업을 수행하는 방식. * SSR보단 초기 전송되는 페이지의 속도는 빠름. * 서비스에 필요한 데이터를 client에서 추가적인 요청.. 2022. 6. 18.
반응형