본문 바로가기

HOME

(207)
[백준/C++] 2447번 별 찍기 - 10 처음 문제를 읽었을 때 N이 3의 제곱이니 3으로 나누다가 3이 된 순간, 가장 작은 형태를 바로 출력해주려고 했었다. 그런데 string 배열에 담아놓기도 힘들고 3줄씩 출력을 미리 하기도 힘들다고 판단해 다른 방법을 생각하게 되었다. 가지고 있는 N을 3x3으로 나누어야 하는데 어떤 식으로 분할을 진행할까 고민했는데 각 위치에 대하여 사이즈를 줄여가며 그 위치가 빈칸이 될 위치(흰색)인지 별이 찍힐 위치(파랑)인지 확인해가는 방법으로 결정하였다. 코드를 짜다가 공통점을 찾아봤는데 row와 column을 (0, 0)으로 시작하여 N까지 진행하면 9의 크기에서는 row와 column이 각 각 (1, 1) (1, 4) (1, 7) ... 일 때로 row % 3 == 1 & column % 3 == 1인 순..
[Tips] flutterfire configure email 변경 flutterfirebase configure를 하면 자동으로 default (처음 지정한 이메일) 계정이 실행되기 때문에 불편을 겪은 적이 있다. flutter cli를 다른 계정으로 변경하고 싶다면 아래와 같은 커멘드를 입력하면 된다. cli 에 새로 이메일 등록하기 firebase login:add sample@gmail.com 현재 입력한 이메일로 cli 로그인하기 flutterfire configure --account sample@gmail.com
왜 오차에는 제곱을 할까 머신러닝 수업을 듣다가 갑자기 왜 오차를 계산할 때 각 오차 값들의 제곱을 할까? 라는 의문이 들었다. 음수 오차의 부호를 없애기 위해서라면 단순하게 절대값을 씌워줘도 되지 않을까? 하는 고민이 들었다. 아마 수업시간에 다루었지만 졸다가 놓쳤던 것 같다. 그래서 오차를 구하는 방법을 찾아보니 평균절대오차(MAE: Mean of Absolute Error)와 평균제곱오차(MSE: Mean of Squared Error)가 있다고 한다. 그렇다면 내가 생각한 절대오차도 있는데 제곱오차를 쓰는 이유가 무엇일까? 하다가 수업 ppt에서 좋은 예시를 발견했다. 위에 그래프와 같이 MAE의 경우보다 MSE가 오차가 큰 것들에 대해서 패널티가 더 크고 [-1, 1] 구간은 MSE가 오차가 작은 것들에 대해서 패널티가..
[Mac] 업데이트 이후 xcode 환경변수 오류 22.11.11 16 Ventura 13업데이트 이후 g++/ git / flutter 모두 같은 방법으로 해결 각각 한 줄씩 실행하여 해결하였습니다. xcode-select -p export SDKROOT=$(xcrun -sdk macosx --show-sdk-path) g++과 git 아래와 같은 오류가 떴다. xcodebuild: error: SDK "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk" cannot be located. 그래서 처음 시도한 방법은 stackoverflow에서 찾은 방법인데 (https://stackoverflow.com/questions/71..
[3DCNN] DOTA dataset Abstract 비디오 이상점 검출(Video Anomaly Detection)은 시간이 오래 걸리는 연구이다. 동적인 장면들이 있는 1인칭 교통 영상들은 효과적인 평가지표뿐만 아니라 대규모의 벤치마크 데이터셋도 부족하다. 이 논문에서는 비정상적인 이벤트를 감지, 로컬라이제이션, 인식하기 위해 언제 어디서 어떤 파이프라인을 통해 traffic anomaly detection을 할지 제안한다. 논문에서는 Detection of Traffic Anomaly (DoTA)라는 시간,공간, 18개의 카테고리에 관한 annotaition이 담긴 4677개의 비디오를 가진 데이터셋을 소개한다. DoTA 데이터셋에서는 Spatial-Temporal Area Under Curve(STAUC)라는 새로운 평가방법을 적용시..
[심개 시험 정리] 보호되어 있는 글입니다.
[백준/C++] 1744번 수 묶기 처음 문제를 읽고는 엥? 이게 왜 골드지...? sort하고 0이 아닌 양수 음수 각각 절대값이 큰 수부터 묶어나가면서 계산하면 되지 않나? 라는 생각을 하였다. (설마 출력이 2^31이라고 int 써서 통과 못하는 사람들이 생겨서 그런가 했다. 묶었을 때 2^31보다 커진 후 음수를 빼며 int 범위 내로 돌아갈 수 있는 걸 낚는 낚시인가 싶었다.) 운이 좋게도 예제 4번이 반례가 되어 -1 0 1 인 경우를 해결하지 못했다. 이 경우(-1 0) + 1 로 풀어야 하는데 내 알고리즘은 그렇지 못했다. 추가적으로 -5 -4 -1 0 5 10이라는 테스트 케이스를 생성한 후 고민해보았는데 양수 음수를 나눠서 양쪽으로 묶는 행위를 진행해야겠다 라는 생각이 들었다. 그런데 투 포인터로 설계하기에는 다소 어려움..
[백준/C++] 1700번 멀티탭 스케줄링 컴퓨터 구조 시간에 Memory Replacement Algorithm에 대해 배운 적이 있는데 그 때 LRU 등등 다양한 알고리즘을 배우다가 뒤에 올 것이 무엇인지 알면 가장 직후에 사용될 것을 찾는 방법이 optimal한 방법이라고 하였다. 그 때는 뒤에 어떤 것이 올지 알 수 없었지만 문제에서는 알 수 있으니 greedy하게 풀어낼 수 있을 것이라고 생각했는데 가지고 있는 것들 중에 더 일찍 재사용될 친구를 찾는다는게 생각보다 어려워서 숫자도 100으로 크지 않으니 queue를 각 아이템마다 만들어서 풀어내려고 하였다. 들어오는 순서대로 queue에 넣고 다음에 오는 숫자가 가장 느린 친구를 pop시켜주고 이미 가지고 있다면 continue 하는 방식으로 코드를 구현하였다. 코드를 구현할 때 이미 ..