전체 글 347

[백준 13422번] 도둑 - java

문제 설명1. 맨 윗줄은 테스트 케이스 갯수2. 2줄씩 받고 -> 처음은 [집갯수, 훔칠 집 수, 훔칠 금액 최대값+1] / 두번째는 [집들의 가진 돈] 이 주어진다.3. 도둑이 훔치려고 할 때에 인접한 집을 찾아가면서 훔치고 일정 금액 이상 훔치거나 일정 집 수 이상 훔치면 잡혀감4. 그 안에서 훔칠 경우의 수를 구하면 된다. 풀이 과정 1. 간단한 슬라이딩 윈도우 문제이다. 2. 집을 하나씩 찾으면서 보면 된다. 3. 그리고 보면 그냥 배열이랑 좀 다른거는 처음 맨 뒤쪽 집들은 최초 털어간 집에 대한 확인도 된다는거 4. 내가 풀어낸 방식은 그래서 [123][234][345][451][512] 이렇게이다. 5. 근데 여기서 중요한건 M == N 이면, 4번 방식에서 [123][231][312] 가 된..

알고리즘 공부 2024.10.12

[백준 1593번] 문자 해독 - java

문제 설명1. 해석하고 싶은 문자 W가 주어진다.2. 그게 중간에 들어가는 S가 주어진다..3. 이거 뭔소린가.. 엄청 헤맸는데, 말하자면 둘째줄 W의 각각 char 들이 순서와 상관없이 S에 어떻게 있는지를 물어보는 문제이다.즉, 주어진 보기를 보았을 때에첫 번째로 "Acad" (3번째 문자부터), 두 번째로 "cAda" (4번째 문자부터)에서 "cAda"와 동일한 문자 빈도를 가진 부분 문자열을 찾는 문제라는 것이다.4. 앞의 숫자 두개는 별의미 없다. 풀이 과정 1. 딱 봐도 S의 길이가 매우 길다. 2. 브루트포스로는 못풀것 같은데, 슬라이딩 윈도우를 통해 구현한다. 3. W의 문자들이 나타나는 갯수를 구해놓고, 그 크기만큼 S에서 하나씩 찾는다. 하나씩 더하고 빼면서 비교해주면 된다. 4.- [..

알고리즘 공부 2024.10.11

[HackerRank] 2d-array java 풀이

문제 설명1. 배열에 대해 1 1 10 1 01 1 1요만큼 해당하는 애들만 더하는것2. 크기는 정해져 있다. 풀이 과정 1. 어차피 크기는 정해져 있으니 내부에서 돌면서 저만큼 구해서 더해주면 된다. 2. 0 ~ n 의 크기라고 하면 1 ~ n-1 까지 구하면 된다는 느낌 3. 각 위치에 대해서 미리 갖고 있고 이걸로 사용할 것을 정하면 된다.    https://www.hackerrank.com/challenges/2d-array/problem?isFullScreen=true&h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=arrays

알고리즘 공부 2024.10.09

[HackerRank] repeated-string java 풀이

문제 설명1. s 문자열이 n개 숫자가 될 때까지 반복된다.2. 그 문자에서 'a' 의 갯수를 구하면 된다.3. n의 크기는 크다. 풀이 과정 1. n이 길어서 브루트포스는 안된다. 2. 처음 문자열에서 a의 갯수를 구함 3. n만큼의 길이 내에서 저 문자열이 몇번 반복되는지 구해서 그만큼 곱한다. 4. n에서 반복된 후에 나머지 짜잘한 애들 중 a가 몇개 있는지 구해서 더하면 된다.     https://www.hackerrank.com/challenges/repeated-string/problem?isFullScreen=true&h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=warmup

알고리즘 공부 2024.10.08

[HackerRank] Jumping on the Clouds java 풀이

문제 설명1. 간단한 DP 문제이다.2. '0' 만 밟을 수 있다고 생각하면 편하다.3. 현재 위치에서 1칸 2칸을 점프할 수 있다.4. 그래서 마지막까지 몇번의 점프가 최소인지를 구하면 된다. 풀이 과정 1. 간단하다. 0부터 시작해서 마지막까지 가고, 지금 다음 구름에는 현재 위치에서 점프하는 때(현위치 값 + 1)가 최소인지 파악해서 넣어주면 된다. 2. 1은 그냥 넘기면 된다. 3. 끗  https://www.hackerrank.com/challenges/jumping-on-the-clouds/problem?isFullScreen=true&h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=warmup

알고리즘 공부 2024.10.07

부분 인덱스

부분 인덱스그냥 간단하게 말하자면 인덱스 기준을 전체가 아니라 일부분에만 거는 것이다.이게 뭐임말 그대로 부분적인 인덱스개발할 때에 MySQL 에서 VARCHAR(255) 이런 식으로 좀 큰 데이터를 사용하는 경우가 있는데, 이런 큰 값에 대해 인덱스를 걸어주는건 힘들다.근데 이거 뒤에까지 다 쓰지는 않지만 앞부분에 대한 검색이 종종 일어날 수는 있다.장점인덱스 크기 설정 가능일부분에 대해서만 인덱스를 생성하기 때문에저장 공간이 절약된다.인덱스 조회 속도가 향상된다.인덱스 생성할 때에 시간소요가 줄어든다.말하자면, 그냥 작은 인덱스를 만들기 때문에 전체를 다 만드는 것 보다 확실히 공간이나 속도 면에서 장점이 있다는 것이다.단점?인덱스 크기를 설정해서 발생일부분에 대해서만 인덱스가 생성되기 때문에유니크 ..

아는 만큼 보이는 AI 책 읽고 간략히 느낀점 정리

책을 읽기 전최근 몇 년간 AI 기술이 빠르게 발전하고 있다.요즘 개발자 뿐 아니라 다양한 분야에서 사람들이 AI를 활용하고 있는것도 볼 수 있고, 많은 회사에서 AI를 도입하려는 시도를 하고 있더라.이런 짤도 있으니 뭐...근데 그냥 chatGPT랑 대화하면서 뭔가를 쓴다. 정도로는 다들 하지만 그 이상의 활용법이나, 혹은 얘가 어떻게 동작하는지를 모르는 사람들이 많다.사실 나는 이전에 AI관련 교육을 듣기는 했는데, 이게 너무 전문적인 내용이 많아서 이해가 조금 어려웠기도 하고 요즘 AI에 좀 관심이 많이 가서(해커톤 나가고 회사에서 관련 일을 하면서 좀 잘 쓰고싶었다) 읽어보게 되었다.책 내용도입부처음에는 간단한 일화? 와 같은 식으로 AI를 사람들이 보는 시각 등에 대해 설명해준다. 사실 처음이 ..

기타/일상 2024.09.16

YOUTHCON 24 발표 후기

[YOUTHCON 24 발표 후기]2024.08.31https://frost-witch-afb.notion.site/YOUTHCON-24-49177aa1b828435f98046912c6debc78 작년에 비해 올해는 정말 빠르게 지나가고 많은 것들을 시도하는 한 해가 되었던 것 같다.좋은 기회로 박재성(Json) 님이 주최하는 유스콘에 발표자로 참가하게 되었다.사실 if(kakao) 를 나갈까 여기를 나갈까 고민을 했는데, 아직은 엄청난 개발의 인사이트를 가지고 "카카오 발표를 나간다!" 보다는 약간은 가벼운 마음으로 즐기면서 진행해보고 싶었고, 여러 의미에서 이는 좋은 선택이 되었던 것 같다. [오늘도 기획자가 왜 안 된다고 말하냐고 말했다.] 라는 세션을 준비했는데 어쩌면 조금은 뻔한 발표일 수도 있..

기타/일상 2024.09.03

2024 핵서울 참가 후기

주말을 이용해서 8월 24일 ~ 25일 이틀간 글로벌 해커톤 대회인 핵서울에 참가했다!사실 해커톤을 하는걸 몰랐는데 주변 개발자 동료의 초대로 함께하게 되었다.단순한 무박 해커톤은 전에도 해본적이 있었지만 이번에는 무려 아침부터 저녁까지 하는 해커톤… 뭔가 심상치 않기도 하고 참가신청하려고 보니까 막 자기 컴퓨터 모니터 들고온 외국인이랑 배낭 들고온 사람이랑 많이 보여서 두려웠다.   우리는 뒤쪽 좌석이었는데 사람들 되게 많더라...그리고 저기 큰 플라스틱 가방 들고온사람들은 컴퓨터랑 모니터 막 들고 개발함 발표 전 및 팀빌딩우리는 총 3명으로 구성되어 있었는데백엔드 및 블록체인 개발자(미들급인데 일단 본인은 대학생이라고 주장함) 인데 프론트엔드 개발자 1명백엔드 개발자 2명이렇게 있었다.그래서 아 이거..

기타/일상 2024.08.26

RAG 이론 정리와 활용

chat APIAPI를 이용해 사용자가 모델 제어 가능Messages(주요입력)System : InstructionUser : 사용 유저Assistant : 동작 (From System)Request Bodymax_tokens : 최대 토큰 수 설정가능temperature : 얼마나 정적인 답을 할지(창의성)top_p : 확률 기반으로 예측 단어(토큰) 제한참고로 temperature 이랑 top_p 동시 조정은 추천되지 않는다.참고로 요청할 때에 Instruction 을 주면 원하는 응답이 나타나지 않을 수 있다.ex) prompt 요청에서 JSON으로 대답하쇼 하면 JSON이 아닐 수 있다는것.response_format 에서 {”type” : “json_object”} 이렇게 요청하면 항상 JSON..

이론 정리 2024.08.11