전체 글
-
2024년 DB FIS 채용연계형 인턴 합격 후기카테고리 없음 2024. 8. 31. 20:57
이번 2024 DB FIS & INC 인턴을 준비하면서 너무 정보가 없었어서 다음에 준비하시는 분들을 위해서 합격 회고글을 작성해보고자 합니다! 대략적인 인턴 선발 일정은 아래와 같았습니다.1. 2024.07.08(월) 09:00 ~ 2024.07.22(월) 17:00 - 서류 접수 2. 2024.07.31(수) 17:00 : 서류 결과 발표 3. 2024.08.07(수) 14:00 - 16:00 : 코딩테스트 ( 2시간 ) 4. 2024.08.09(금) 15:00 : 코딩테스트 결과 발표5. 2024.08.19(월) 10:20 : PT 면접6. 2024.08.28(수) 10:00 : 최종 결과 발표 먼저 서류에 대해서 말씀드리겠습니다. 자소서 문항은 3문항이고 각각이 최대 800자로 한정되어 있었..
-
[알고리즘] 문자열 폭발 - 구현알고리즘 2024. 7. 12. 22:19
1. 문제https://www.acmicpc.net/problem/9935 2. 풀이1. 문제의 핵심은 시간복잡도! 2. 실패코드- 기본적인 slicing을 통해 코드를 구할 수 있음- n의 범위를 따질 때, O(n * ( n - len(boom) ) + slicing으로 나오는 시간복잡도. => 기준 초과=> 1%에서 시간초과가 난다 3. 성공코드- stack에 담아가며 stack의 길이가 len(boom)이상이며, stack[-len(boom):] 이 boom이랑 같을때마다 pop()-> O(N)의 시간복잡도를 갖는다는 걸 알 수 있다. 3. 코드1. 시간 초과 코드string = input()boom = input()b = len(boom)while True: flag = False i..
-
[알고리즘] 월드컵 - 백트래킹알고리즘 2024. 7. 7. 16:37
1. 문제https://www.acmicpc.net/problem/6987 2. 풀이[ 실패 풀이 코드 부분 ]1. 한 국가당 무승부 + 승 + 패의 수가 5여야 한다2. 무승부가 나온다면 무승부의 수는 짝수이면서, 최소 2개 국가가 무승부를 기록해야한다3. 승 수 == 패 수위의 3가지 조건만 있다고 간과하였습니다. 이 과정에서 질문 게시판을 보았고 내가 생각했던 반례보다 훨씬 더 많은 반례가 있다는 것을 알게되며, 백트래킹으로 풀어야 함을 알게됐습니다. 예를 들면,1. 한팀이 5번 이기면 다른 팀들은 한번씩 필수로 져야한다2. 한팀이 5번 패하면 다른 팀들은 한번씩 필수로 이겨야한다-> 1번과 2번의 이유로 5승한팀이 2개 이상, 5패한 팀이 2개 이상이 있을 수 없다.등등 반례가 무수히,,, 하지..
-
[Tnote] "참조관계"의 고민T-note 2024. 6. 29. 01:04
팀원과 회의중 "현재 외래키를 통한 참조관계로 개발을 진행했는데, 대다수의 기업에서 진행하는 방식에 따라 외래키 없는 참조관계로 리팩토링을 진행하자" 라는 의견이 나왔고 "어떤 방식의 참조관계 형성이 우리의 프로젝트에 더 효율적인지?" 에 대한 고민을 하며 나온 결론과 프로젝트에 적용한 방식에 대해서 소개하고자 합니다. 제가 고민한 "참조관계"에 대해서 말씀드리기 전에 간단하게 외래키에 대해서 짚고 넘어가겠습니다. 외래키는 데이터의 정합성을 돕는 역할로써 일종의 테이블을 연결하여 가상의 다리역할을 합니다. 이런 외래키는 아래와 같은 특징들을 가지고 있습니다1. 관계 데이터 모델의 릴레이션 간의 관계를 표현한다2. 다른 릴레이션의 기본키를 참조하는 속성이다.3. 참조하고(외래키) 참조되는(기본키) 양쪽 릴..
-
[알고리즘] 사탕게임 - dfs알고리즘 2024. 6. 13. 22:58
1. 문제https://www.acmicpc.net/problem/3085 2. 풀이중요 point 1) n*n 모든 값들을 4가지 방면으로 switching 해본다.-> change() 로 값이 다른지 확인하고 boolean으로 응답하기 중요 point 2) switching이 된다면, 같은 값을 가진 가장 긴 행/열을 구할때, 현재 2차원 index로부터 뒤의 모든 값들을 확인하지 말고 바로 앞에 있는 값이랑만 비교하면서 max값, tmp값 update 해주기-> calc() 참조! 중요 point 3) switching 하고 max_val 값 update했으면, 다시 원래자리로 복구해주기 3. 코드n = int(input())arr = [ list(input()) for _ in ra..
-
[알고리즘] 빗물 - 구현알고리즘 2024. 6. 12. 00:30
문제https://www.acmicpc.net/problem/14719문제 풀이법1. 처음과 끝에 벽이 있어야만 물을 채울 수 있다.2. 관점의 문제이다. [ 현재 기점으로 좌우를 비교하냐? 현재 기점으로 뒤만 비교하냐 ]- 나의 경우, 실패 사례는 현재 기점으로 뒤만 비교했다 문제 코드[ 실패 사례 ]h,w = map(int,input().split())blocks = list(map(int,input().split()))cur_height = blocks[0]amount = 0among_block = []for i in range(w): flag = False if blocks[i] cur_height: flag = True cur_height = bloc..
-
[에러] schema-validation 에러T-note 2024. 4. 8. 01:00
에러 상황 운영중이였던 프로젝트에서 refresh token에 대한 scheduler 서비스를 도입하는 과정에서 refresh token의 entity가 변경되었습니다. https://github.com/T-Notes/Tnote-BackEnd/tree/main/src/main/java/com/example/tnote/base/scheduler Tnote-BackEnd/src/main/java/com/example/tnote/base/scheduler at main · T-Notes/Tnote-BackEnd Contribute to T-Notes/Tnote-BackEnd development by creating an account on GitHub. github.com 진행 중에 배포하여서 기존의 스키마..
-
[티노트] 로깅T-note 2024. 3. 28. 23:41
Logging 정보를 제공하는 일련의 기록인 로그를 생성하도록 시스템을 작성하는 활동. 우리는 왜 로깅을 사용할까? 복잡한 시스템의 구조를 이해를 위함 버그에 대한 정보 제공 성능에 관한 통계와 정보 제공 로그 출력 System.out.println() 로깅 라이브러리 [ logback, log4j 등등 ] 2가지 방식이 있는데 우리는 로깅 라이브러리를 사용할 것입니다. syste.out을 안쓰는 이유 성능상 좋지 않다 system.out.print(), system.out.println()은 내부적으로 write(), newLine()을 사용한다. 이는 내부적으로 synchronized를 이용해 구현되어 다른 스레드들의 접근이 불가하여 성능을 낮춘다. 시스템 콜 호출 과정에서 블로킹으로 호출하기 때문이..