코딩/알고리즘
-
[mac] mysql 이모지 저장하기코딩/알고리즘 2021. 9. 6. 19:59
왠 오류? 이모지를 저장하려는데 오류를 뿜는경우가 생겼습니다. 알고보니 이모지를 저장하는데 문제가 생긴거였더라구요 . 왜 오류가 발생하는걸까요? 이유는 database의 charset이 utf8이여서 발생한 문제였습니다. utf8과 utf8mb4의 차이점? 이모지와 같은 글자들은 글자당 최대 4bytes가 필요합니다 하지만 utf8은 글자당 최대 3bytes까지 지원하는 가변 자료형 입니다 따라서 가변 4bytes의 문자열을 저장할 수 있는 utf8mb4를 사용하면 이모지를 저장할 수 있습니다. 해결방법 간단합니다. 그냥 데이터베이스의 charset을 utf8mb4로 변경하면 됩니다. 일단 my.cnf를 찾아봅시다. 보통 etc/local에 있다는데 저같은 경우는 조금 먼 경로에 있었습니다. 이런 명령어..
-
[백준][자바][14499][주사위굴리기]코딩/알고리즘 2020. 1. 12. 19:41
주사위 동서 북남으로 이동할떄 값이 어떻게 변할지가 제일 핵심인 문제 손으로 그려가면 편하다 잠깐 착각을 해서 디버깅에만 몇시간을 쓴지 모르겠다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; class Dice{ int y; int x; Dice(int y, int x){ this.y = y; this.x = x; } } public class Main_backjoon_14499_주사위굴리기 { static int[] dice= {..
-
[백준][자바][파이프옮기기1]17070코딩/알고리즘 2019. 11. 1. 21:51
예전에 다른 분들 푼거 보고 참조해서 풀었다가 이해가 안되서 오늘 다시 새로 풀어봤다 개인적으로는 직관적이라고 생각한다. 코드량이랑 효율적이지는 못하지만.. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main_backjoon_17070_파이프옮기기1 { static int[][] MAP; static int N; static int[] dy = {0,1,1};//우측, 하단 ,대각선 static int[] dx = {1,0,1}; static int result = 0; public static vo..
-
[백준][자바][17135]캐슬디펜스코딩/알고리즘 2019. 10. 23. 23:04
1. 궁수의 위치를 dfs 세팅함 2. 궁수 위치가 세팅되면 적들과의 distance를 재서 죽일수 있는 적들을 찾아둠 3. 적들 죽이고 카운트 4. 적이동 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.PriorityQueue; import java.util.Queue; import java.util.StringTokenizer; class Archer { int y; int x; Archer(int y, int x) { this.y = y; this.x = x; } } class Enemy implem..
-
[백준][자바][9205]맥주 마시면서 걸어가기코딩/알고리즘 2019. 10. 2. 17:21
맥주 마시면서 걸어가기 이 문제를 잘 생각해보면 거리가 20병이 최대고 그러면 이동할수 있는 거리가 최대 1000이라는 이야기가 된다 그에 따라 편의점에 갈수 있는지 없는지를 분기처리해서 q에 넣고 빼면 된다. package back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; class MPoint{ int y; int x; MPoint(int y, int x) { this.y = y; this.x = x; } } public ..
-
[백준][자바][5017]스타트링크코딩/알고리즘 2019. 10. 1. 21:49
bfs로 풀었다 . bfs는 상태를 가지고 있다고 생각하면 쉽다 . 올라갔을때, 내려갔을때를 분기로 방문처리를 하면서 풀면 간단하다. package back; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; class StartLink{ int y; int count; StartLink(int y, int count){ this.y = y; this.count = count; } } public class Main_backjoon_스타트링크 { static Queue q = new LinkedList(); static boolean VISITED[][] = new boolean[1000001][2]; static..
-
[백준][자바][14442]벽부수고 이동하기 2코딩/알고리즘 2019. 9. 11. 00:39
1과 똑같은 문제 1과 다른점은 1은 벽을 부수고 안부수고 상태값이 2개인데 이번에는 k번까지 부술 수 있다는 것이다 k가 1인경우는 한번 만 부신경우 k가 2인경우는 2번 부신경우 이런식으로 가정을 하면 문제가 쉬워진다 package back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; class Wall2{ int x; int y; int wallBreak; Wall2(int y, int x, int wallBreak) { t..
-
[ 백준 ] [ 자바 ][ 1194] 달이 차오른다 가자코딩/알고리즘 2019. 9. 8. 23:35
이제 조금 3차원 방문배열을 이해 할랑 말랑 싶다 처음에 키값이 있는지 없는지 확인하려면 그냥 map이나 또는 링크드 리스트에 넣어서 루프돌려서 확인하면 되지 않을까? 라고 생각해서 풀었는데 각 키를 주웠을떄의 상황을 생각해보자면 3차원 배열을 만드는게 가장 효율적인것 같다 비트마스킹은 의외로 간단하다 이진수를 생각하자면 1과 0으로 나누어져있는데 key 값 abcdef 를 각각 전구 처럼 생각하면 쉽다 a를 방문했을떄 a 전구를 키고 b를 방문했을떄 b전구를 키는 식으로 생각하는 것이다. 모든 키값은 interger 하나로 가능해진다 즉 비트마스킹을 이용하면 3차원 배열로 해결이 가능해진다. 열쇠 문제랑 유사한데 ..운이 좋아서 풀린거였다. 예전에는 이해가 아예 되지도 않았는데 이제 살짝 마음으로는 이..