전체 글 405

깃허브에 펫 키우기

🎄깃허브에서 펫을 키워보세요 🎄Gitanimals에 크리스마스가 찾아왔습니다.지금 접속하고 크리스마스 옷을 입은 귀여운 펫을 무료로 뽑으세요!https://www.gitanimals.org/en_US/event/CHRISTMAS_2024https://github.com/git-goods/gitanimals GitHub - git-goods/gitanimals: 🦆 깃허브 활동으로 펫을 키우세요 / Have pet in your github🦆 깃허브 활동으로 펫을 키우세요 / Have pet in your github. Contribute to git-goods/gitanimals development by creating an account on GitHub.github.com 이거를 보고 한번 ..

기타/일상 2024.12.09

[백준 7490번] 0 만들기 - java

문제 설명1. 테스트 케이스 개수가 주어진다.2. N이 주어지면, 1부터 N 까지 오른차순 수열이 있다.3. '+' '-' ' ' 이렇게 삽입된다. 4. 이렇게해서 1 ~ N 까지의 수식이 완성되었을 때 그 수식의 결과가 0이 되면 그걸 출력한다.5. 참고로 ASCII 순서에 따라 출력한다.풀이 과정1. BF + DFS문제이다.2. String에다가 모든 수식이랑 숫자를 다 DFS로 찾도록 구하고 그걸 처리하면 된다.3. 계산하는 방법은 공백 없이 문자를 이어주고(이러면 알아서 붙음) 수식 위치를 구한 후에 숫자를 뽑아서 이 수식대로 처리해주면 된다.4. 0이 되면 출력5. 참고로 ASCII 순서에 따라 DFS처리하면 간단하다 ' ' -> '+' -> '-' 순서임.코드import java.util.*;..

알고리즘 공부 2024.12.08

[백준 1068번] 트리 - java

문제 설명1. 몇개의 노드가 주어질지 입력2. 순서대로 노드가 주어진다.3. 어떤 노드를 지울지 알려준다.4. 그 노드랑 이 노드의 모든 자식노드를 지원 후 남은 자식노드 갯수 구하기풀이 과정1. 처음에는 그냥 어떤 노드의 자식들을 모두 보관하게 하고 그 노드를 기준으로 자식을 확인해가면서 삭제해줬다.2. 그리고 ans는 처음에 모든 자식없는 노드들을 확인해서 만들어줬다.3. 리프노드 도달시 하나씩 뺴줘서 처리했다.4. 이랬더니 중간에 틀렸는데, 이유를 생각해보니 어떤 노드의 부모가 그 노드만을 자식으로 가진다면 문제가 될 것 같았다.(O-O-O 이렇게 돼있으면 안됨)5. 여러 방법이 있었겠지만... 나는 그냥 그 노드의 부모를 갖는 Map을 하나 더 만들어서 부모 찾고 자식이 하나뿐이면 더해주는 식으..

알고리즘 공부 2024.12.07

OpenAI 12일간 신기술 발표!!!!

12월 5일부터 12일동안 매일 신기술을 발표한다고 한다 - 매일 오전 10시(태평양 시간으로) 라이브스트림 발표- 평일마다 새로운 제품 출시나 데모 를 한다고 하는데 아마 o1 관련 애들이 나올 것으로 생각된다.... 는 오늘 관련해서 하나 나왔는데 https://www.youtube.com/watch?v=iBfQTnA2n2s 이거다.기능을 대충 살펴보니 1. 모델 액세스무제한 GPT-4o 모델 액세스o1-pro 모델 무제한 사용기존 Plus 요금제 대비 더 광범위한 모델 활용2. 고급 음성 기능무제한 고급 음성 인식 및 합성6가지 음성 옵션 제공음성 기반 워크플로우 최적화3. 추가 기능실시간 음성 대화이미지 및 영상 분석 기능고급 데이터 분석 도구코드 인터프리터 기능 이렇다고 한다.근데 chatGPT..

CAP

CAP네트워크를 완벽히 신뢰할 수는 없다.이런 상황에서 CAP 중 두가지만 보장이 가능하다.Consistency일관성즉 read 모든 작업은 가장 최근의 정보나 혹은 오류 메세지를 받는다.Strong consistencyeventual consistencyAvailability가용성모든 요청이 응답은 받는다.근데 이게 최신일 필요는 없음. (이거는 그래도 된다는것)Partition Tolerance오류가 나는 상황에서도 시스템의 작동이 멈추지 않는다.근데 위에서 본 것처럼 네트워크를 신뢰할 수 없기 때문에 P 는 필수다!!그러면 어떨 때 C / A 를 고를까CP데이터가 중요한 때에!근데 이거 타임아웃 날 수도 있음AP그냥 줄 수 있는 데이터를 준다.결국 이거는 어쨌든 문제가 있어도 시스템은 잘 동작하게 ..

이론 정리 2024.12.05

[백준 12919번] A와 B 2 - java

한번 틀려서 다시 풀었었다.문제 설명1. S 랑 T가 주어진다.2. S 뒤에 'A' 를 붙이거나, S 뒤에 'B'를 붙이고 뒤집을 수 있다.3. 2번의 연산을 통해서 S랑 T가 같아지면 1, 그렇게 못만들면 0을 출력하면 된다.잘못된 풀이 과정1. BF + DFS문제이다.2. S에서 위의 연산을 하나씩 수행해간다.    - A를 붙여줌    - B를 붙이고 뒤집음3. 그리고 길이가 T랑 같아졌을 때 비교해서 처리한다.    - (틀린 이유) 시간초과가 발생했는데 모든 경우에서 시간복잡도가 2^N이 되기 때문이다.6. S로부터 시작해서 T가 될 때까지 2번씩 N번 수행된 것.코드import java.util.*;public class Main{ private static String T; pri..

알고리즘 공부 2024.12.04

[백준 20529번] 가장 가까운 세 사람의 심리적 거리 - java

문제 설명1. 테스트 케이스 개수가 주어진다.2. 몇개의 MBTI가 주어질지 알려주고3. MBTI가 주어진다.4. 다른 알파뱃만큼 거리가 있는 것이다.풀이 과정1. 나는 좀 골때리게 풀었다.2. HashMap을 두고 같은 MBTI가 3개 이상 주어졌는지 확인한다.3. 중복 3개까지는 list에 저장하고 그거 넘으면 저장 안한다.4. 이후로 list를 실제로 돌면서 심리적 거리를 구하고 넣으면 된다.5. 이렇게 한 이유는 모든 MBTI가 같은 경우 나 중복을 제거했더니 2개만 남는 경우 를 제외하기 위해서이다. 특히 2개만 남으면 이게 뭐가 어떤 갯수를 가졌는지 몰라서 난감해지기 때문.코드import java.util.*;public class Main{ public static void main(S..

알고리즘 공부 2024.12.03

[백준 1446번] 지름길 - java

문제 설명1. 지름길 개수 N이랑 전체 길이 D가 주어진다.2. N개의 시작, 도착, 지름길 길이가 주어진다.3. 지름길을 통해서 가는 최소 거리를 구하면 된다.풀이 과정1. 다익스트라도 있기는 한데, 나는 DP로 풀었다.2. 전체 위치를 보면서 하나씩 현재 위치까지의 변위 / 이전에서 한칸 더 갔을때 중에 더 작은값이 지금 거리가 된다.3. 처음부터 가면서 혹시 지금 위치가 지름길을 통하는 길이라면 그 도착점을 변경해가면서 찾으면 된다.코드import java.util.*;public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextI..

알고리즘 공부 2024.12.02

[백준 15661번] 링크와 스타트 - java

문제 설명1. N X N 게임판이 있다.2. 사람들이 주어지고 각 능력치의 합이 있다.3. 팀을 나눠서 전체 팀원들의 능력치 합을 구한다.4. 모든 사람들이 포함되어야 한다. 사람들의 숫자가 같지는 않아도 된다.5. 참고로 같은 팀에 있는 사람들의 모든 능력치 합을 구해야 한다.(문제 설명이 진짜 역대급으로 불친절하다. 일부러 헷갈리게 한게 아닌가 의심될 정도)풀이 과정1. BF + DFS + 백트래킹2. 비트마스킹을 이용할 수 있다고는 하는데, 2개 케이스에 대해 각각 계산을 해도 터지지는 않을 것 같아 비트마스킹을 쓰지는 않았다. 좀 오래걸리지만 그래도 통과함 -> O(n^2⋅2^2)3. 간단히 말하자면 team1, team2 에 모든 사람을 각각 넣어가면서 확인하고, 그래서 모든 사람에 대한 팀배정..

알고리즘 공부 2024.12.01

[백준 18428번] 감시 피하기 - java

문제 설명1. N X N 복도가 있다.2. T 선생 S 학생 X 빈공간3. 선생은 상하좌우를 볼 수 있고 장애물이 있으면 그 뒤는 못본다.4. 장애물을 정확히 3개 설치해서 모든 학생이 안보이면 된다.풀이 과정1. BF + 백트래킹2. 모든 위치에 장애물을 둬 가면서 학생이 확인되는지를 보면 된다.3. 미리 선생의 위치를 알아두고, 그곳에서 볼 때 장애물인지 파악하기4. 장애물의 배치는 모든 X에 두고 보면 된다.코드import java.util.*;public class Main{ private static char map[][]; private static boolean checker[][]; private static int N; private static boolean ans..

알고리즘 공부 2024.11.30