<

전체 글 27

[Spring] 김영한님 스프링 입문 강의 - 프로젝트 생성 오류 해결법

인프런의 "스프링 입문 - 코드로 배우는 스프링 부트, 웹, MVC, DB 접근 기술" 강의에서, 섹션 1의 '프로젝트 생성' 과정에서 생기는 오류의 해결 방법에 관한 글입니다. 이 글은 2023/07/03에 작성되었으며, 이후 제공되는 Spring Boot 버전에 차이가 있을 수 있습니다. 방학 때 큰맘 먹고 스프링 강의를 듣기 시작했는데, 시작하자마자 오류를 뱉어버려 마음이 꺾여버린 (나)여러분들을 위해 해결 방법을 가져왔습니다! A problem occurred configuring root project 'hello-spring'. > Could not resolve all files for configuration ':classpath'. > Could not resolve org.springf..

Spring/SpringBoot 2023.07.03

UCPC 2023 예선 준비 과정 + 대회 후기

군대 이슈로 3년 만에 참가한 알고리즘 대회였다. 재학생 3인 1팀으로 진행되는 대회라, 아는 사람도 별로 없고 '동일 학교 소속 팀' 추가선발을 노리기 위해 같은 학교 지인분들인 kimyh9797, dudqk9696, leedongbin(나) 세 명으로 팀을 구성했다. 2020 예선에서는 대회 도중 서버가 터져서 본선 커트라인이 엄청 낮았기 때문에 본선에 진출했었는데, 작년부터 대학원생까지 참가 자격 범위가 넓어져서 커트라인이 많이 올라갔다. 대충 플래티넘4 난이도까지는 다 풀어야 본선 진출일 거라고 예상하고, 대회 전에 세 번 정도 디코로 만나서 연습 셋을 풀어봤다. 연습 과정 UCPC 2022 예선 이미 kimyh9797님이 참여했던 예선 대회였지만, 기출문제가 가장 좋은 연습문제이기도 하고 대회 ..

CP/대회 후기 2023.07.02

[롤토체스 시즌9] 13.13 패치 버전 공략법 / 추천 덱 소개

롤토체스 공략 글은, 매 패치마다 메타가 크게 바뀌기 때문에 참고로만 봐주시기 바랍니다. 이 글은 2023/06/30일 기준으로 작성된 공략 글입니다. 6/30일 기준으로 드레이븐 전설이 핫픽스 너프를 받았습니다. (글 쓰자마자..ㅠㅠ) 라이엇 공식 사이트에서 소개한 13.13 패치 하이라이트입니다. 1~3코스트 3성 리롤덱이 대부분 너프를 받았고, 저코스트 리롤덱 중에서는 6녹서스, 6마법사덱 정도가 살아남았네요. 4코스트는 주로 구인수/지크의 전령의 너프와 함께, 구인수의 격노검을 사용하는 원거리 딜러들이 직접 너프를 받으면서 럭스, 아지르, 그웬 등을 사용하는 덱이 쓸만해졌습니다. 큰 흐름은 이렇고, 이번 패치는 특히나 전설 증강에 주목할 필요가 있습니다. 너프 받은 증강은 볼 필요가 없으니, 버프..

게임/TFT 2023.06.30

[Algorithm/C++] 유용한 비트연산 / builtin 함수

이번 글은 특정 알고리즘에 대한 설명이라기보다는, 수학/정수론 문제를 풀 때 꽤나 자주, 유용하게 쓰이는 여러 가지 비트연산들에 대해 설명하고자 합니다. 들어가기에 앞서, 비트 연산자 &(and), |(or), ^(xor), ~(not), (right shift)에 대해 알고 계시면 좋습니다. 간단한 예로, n개 버튼 중 어떤 m개의 버튼을 눌러보는 모든 경우의 수를 시도해보아야 하는 상황에 대해 생각해 봅시다. 백준 N과 M 시리즈 풀이처럼, 아래와 같이 재귀함수로 구현할 수 있습니다. 더보기 #include using namespace std; bool button[20];//0~n-1, n=0;i--)printf("%d",button[i]);//n번째 버튼부터 순서대로 출력. printf("\n")..

PS/알고리즘 2023.06.25

[Algorithm/C++] 삼분 탐색(Ternary search) (백준 8986 전봇대)

1. 알고리즘 설명 삼분 탐색은 어떤 unimodal한 그래프에서, 최댓값 or 최솟값을 $log$ 시간 안에 찾아주는 알고리즘입니다. 이때 unimodal이란, uni(하나의) + mode(봉우리)라는 뜻으로, 이차함수 그래프처럼 봉우리가 하나인 그래프를 의미합니다. (bimodal은 'W'모양의 그래프처럼 봉우리가 두 개, multimodal은 봉우리가 여러 개인 경우입니다) 이분 탐색과 비교하자면, 이분 탐색은 함수의 값이 '/', '\'모양처럼 쭉 단조 증가 or 단조 감소하는 경우에만 사용할 수 있고, 탐색하려는 구간의 길이가 $n$일 때, 매 탐색 과정에서 구간이 1/2 크기로 줄어들기 때문에 시간복잡도는 $log_2(n)$입니다. 삼분 탐색은 함수의 값이 'V'모양처럼 쭉 단조 증가하다가, ..

PS/알고리즘 2023.06.23

[프로그래머스 LV.4] 1,2,3 떨어트리기 (C++) - 2023 KAKAO BLIND RECRUITMENT

1. 문제 LV 4.1,2,3 떨어트리기 - 2023 KAKAO BLIND RECRUITMENT 2. 문제 풀이 제 생각에 이 문제는, 답이 될 수 없는 경우를 적절히 체크하는 것으로 완전탐색/시뮬레이션이 가능함을 관찰하는 게 핵심인 문제였습니다. 먼저 답이 될 수 없는 경우에 대해 생각해 봅시다. 어떤 노드 x+1에 쌓인 숫자의 합$(= target[x])$이 아닌, 노드 x에 쌓인 숫자의 개수를 $stacked[x]$라고 합시다. (어떤 노드 'x+1'인 이유는, 노드 번호는 1부터 시작하고 $target$의 index는 0부터 시작해서 그렇습니다.) 숫자의 크기가 1~3 사이이므로, 모든 x가 $stacked[x]

[프로그래머스 LV.4] 미로 탈출 (C++) - 2021 카카오 채용연계형 인턴십

1. 문제 LV 4.미로 탈출 - 2021 카카오 채용연계형 인턴십 2. 문제 풀이 우선, 출발 방과 도착 방의 정보가 주어지고, 노드수 제한 $n O(roads * 2^{traps} * log(n))$ 가 되고, $roads b[y]&1)))swap(x,y); //방 x에서, trap발동 상태가 bit일 때, {도착지, 도착했을 때 trap발동 상태, 도착하는 비용}이 담겨있는 간선을 추가한다. graph[x][bit].push_back({y,b[y]>b[x]&1))^(b[y]>=0&&(bit>>b[y]&1)))swap(x,y); 간선이 뒤집히는 경우입니다. 여기서 b[x]>=0 은 'x번 방이 함정방인가?'를 의미하고, bit>>b[x]&1 는 'b[x]번째 trap(= x번 방의 trap)이 발동 ..