728x90 분류 전체보기183 23년도 하반기 한화시스템 코딩테스트 후기 한화시스템의 코딩테스트는 python을 포함한 다양한 언어로 진행할 수 있기에 저는 python을 선택. 문제는 SQL 문제와 알고리즘 문제로 이루어져있다. SQL 문제 같은 경우는 간단한 연산하는 문제 및 원하는 상황에 맞게 출력하는 문제로 이루어져 비교적 간단하게 해결할 수 있었다. 나머지 알고리즘 문제는 그리디 문제 하나와 큐를 사용하는 문제 + 나머지 손도 못댐 첫번째 그리디 문제를 해결할 때, 직관적으로 받아들이면 히든 케이스에 걸리기 때문에 예외를 고려해야하는 부분이 많아 예상외로 많은 시간이 소요되었으나 테스트 케이스는 성공. 두번째 스택문제를 해결할 때는 천천히 손코딩 하면서 풀었으면 가능했을 문제였지만, 급하게 시간에 쫓겨 완성시키지 못하고 종료되었다. 나머지 문제는 확인도 못했다. 타율.. 2023. 10. 28. [백준/BOJ] - 11660번 python 풀이 - dp https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 문제를 봤을 때, 주어진 x 좌표와 y 좌표를 직관적으로 계산하여 해당 범위 내에 있는 값을 구하려 했는데, 단순 2차원 배열 반복문 문제가 실1이 맞나..? 싶었는데 역시나 였다. 정답은 잘 나오지만, 시간 초과가 떠버렸다. 심신미약 상태라 다른 방법이 도저히 떠오르지 않아 어떤 알고리즘 쓰는지 봤는데 dp 였다. 기존 주어진 배열의 크기와 같은 크기의.. 2023. 9. 18. [백준/BOJ] - 1043번 python 풀이 - set https://www.acmicpc.net/problem/1043 1043번: 거짓말 지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 www.acmicpc.net 이 문제를 처음 보고 "그래프 탐색으로 하면 될 거 같은데..?"란 생각이 들었다. 하지만 그래프를 어떤 기준으로 정렬할지에 대한 해답이 나오지 않아 직관적으로 접근했다. 기본적으로 진실을 알고있는 집합이 주어진다. 진실을 알고 있는 집합의 원소를 파티 구성원으로 가지고 있는 파티 집합을 구해야 한다. 그렇기에 테스트 케이스를 보고 윗줄부터 아랫줄을 훑으며 겹치는 파티들과 진실의 집합을 합치면 되겠다는 생각.. 2023. 9. 13. [백준/BOJ] - 1541번 python 풀이 - 문자열 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 괄호를 통해 +, -로만 이루어져 있는 식의 결과 값을 최솟값이 나오게 설계해야하는 문제이다. 사실상 괄호가 해당 식들에게 유의미한 영향을 줄 수 있는게 어떤 것이 있을까 생각했다. 바로 숫자 앞에 붙어있는 '-'를 무효화 할 수 있다는 것. 해당 문제는 만들 수 있는 최솟값을 만드는 것이 목적이므로 숫자 앞에 딸랑 붙어있는 -를 더 강력하게 괄호를 통해 더욱 더 - 값이 커지게 설정이 가능.. 2023. 9. 13. [백준/BOJ] - 1389번 python 풀이 - 케빈 베이컨의 6단계 법칙 https://www.acmicpc.net/problem/1389 1389번: 케빈 베이컨의 6단계 법칙 첫째 줄에 유저의 수 N (2 ≤ N ≤ 100)과 친구 관계의 수 M (1 ≤ M ≤ 5,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계가 주어진다. 친구 관계는 A와 B로 이루어져 있으며, A와 B가 친구라는 뜻 www.acmicpc.net 어떻게 풀면 될까? 문제의 설명이 다소 복잡한 면이 있기 때문에 집중해서 읽어보면 친구의 친구의 친구의~~ 친구! "두 사람이 있다고 가정하고 그 둘이 몇 관계 만에 이어질 수 있는가"가 핵심인 문제이다. 일단 기본적으로 인원의 수와 인맥 관계에 대한 입력이 주어지는데, 이를 보자마자 든 생각은 인맥 관계에 대한 설명이 나왔으니, 그래프에 해당 관계.. 2023. 9. 13. [백준/BOJ] - 18870번 python 풀이 - 딕셔너리 요문제는 보자마자 이건 직관적으로 구현은 쉽겠지만 여차하면 시간 초과가 날 문제라고 느꼈다. N값이 백만인데 리스트에 넣고 정렬하는 시간만 해도 엄청나기에 다른 자료 구조를 고려했다. 딕셔너리의 경우 탐색하는 데 드는 시간 복잡도가 낮기 때문에 해당 구조 채택. 일단 순서를 아래 코드의 주석에 달아놓은 거 처럼 맨처음 리스트에 값을 저장시키고 하나하나 꺼내면서 반복문 변수를 통해 주어진 수의 idx를 value로 설정해줬다. 하지만 단순 dict로 선언할 경우 중복되는 key의 경우, value 값을 list로 변환해주어야 하는데, 해당 과정을 구현하면 반복문이 지저분 해질 거 같아 다른 방법을 모색했다. 바로 defaultdict라는 친구인데 이 친구는 key 값이 추가 되면 value의 디폴트 자료형.. 2023. 9. 11. 이전 1 2 3 4 5 ··· 31 다음 728x90