반응형
SMALL
인기글
오늘 하루
- 진통제 오늘 생각 오늘 강연에서 재미있는 이야기를 들었다. 혹시 여러분들은 실연을 당했을 때 진통제를 먹으면 통증이 완화된다는 사실, 알고 있었는가? "미국 로스엔젤레스 캘리포니아대학 스트레스 평가·연구실의 조지 슬래비치 박사 연구팀은 해열진통제 아세트아미노펜이 사람들이 겪는 사회적 통증(social pain)을 경감시킬 수 있다는 연구 결과를 발표했다" 모든 진통제는 통증을 경감시키는 물질이 통증이 발생하는 곳에 직접 영향을 미치는게 아니라 뇌에 영향을 준다. 진통제의 이러한 특징 때문에 발목을 삐어서 통증을 느끼거나, 뼈가 부러져 고통스러운 상황이거나, 이별의 고통에 몸부림치거나, 남의 말에 의해서 상처를 받을때 진통제를 복용한다면 모두 효과를 낸다고 한다. 참 재미있지 않은가? 우리는 가끔 정신적인 슬픔이..
- 나무 오늘 생각 목재 중 하드우드라는 것이 있다. 이는 매우 단단하고 무늬가 화려해 고급 목재로 사용되고 가격 또한 상당하다는 특징이 있다. 그리고 조금 신기한 게 이런 하드 우드는 같은 수종이라 하여도 대게 추운 지방에서 자란 나무가 더욱 단단하다는 특징을 가지고 있다고 한다. 거센 바람이 불고 추운 온기를 간직하고자 더욱 단단해지고 휘몰아치는 바람에도 무너지지 않게 자란다는 것일까? 어쩌면 우리네 인생도 이런 나무와 비슷한 것 같다. 고난과 역경이 존재하지만, 그럴수록 더욱 단단하고 굳센 사람이 되는 것. 나 또한 당장 힘든 일이 눈앞에 벌어진다고 하여도 포기하지 않고 견뎌낸다면 어제보다 오늘이 더욱 단단한 사람이 될 수 있을 거란 기대감이 든다. 항상 웃으며 힘내자!
- [울산/경주] 새로운 시작, 간절곶(해돋이 명소)로 출발~! 여행 날짜 : 2021-12-26 일출 그리고 새로운 다짐! 올해는 생각이 많고 뜻대로 잘 풀리지 않아서 힘든 시기라고 느낀다. 원하던 목표를 이루기 위해서 너무 열심히 달렸던 탓일까? 감정도 폭풍 치듯 휘몰아치고 점점 나 자신을 잃는다는 생각이 많이 들었다. 그러던 도중 친구에게서 오래간만에 연락이 와서 떠난 여행! 이번을 계기로 새로운 시작을 해보자는 의미로 기록을 남긴다. 사실 여행 전 날은 꽤나 바빠서 새벽 2시까지 할 일을 처리하느라 정신없었다. 그러면서도 두근거리는 여행을 떠나고 싶기도 하고 오랜 시간 연락 못한 친구를 보는 설렘 반, 억누르던 감정을 아름다운 자연 풍경과 함께 훌훌 털어버리고자 하는 마음 반. 복잡한 생각이 섞인 부푼 기대감을 안고 약속을 했던 터라 다소 어려운 일정이지만 승..
최신 글
- [백준] 18808번: 스티커 붙이기 (Java/자바) 문제https://www.acmicpc.net/problem/18808문제풀이⭐ 가장 중요한 것 은 Rotation을 어떻게 할 것 인지가 중요하다. 나는 아래와 같이 그림을 그리면서 로테이션 했을 때 (y, x) 좌표가 어떤식으로 변화하는지 확인하였다. 이 과정에서 Rotation을 구현할 수 있었고 그 외에는 시뮬레이션을 돌려가며 순서대로 구현하면 문제없이 풀 수 있다. 소스코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Arrays;import java.util.LinkedList;import java.util.Queue;import java.util...
- [프로그래머스] 카테고리 별 도서 판매량 집계하기 (MySQL) 문제https://school.programmers.co.kr/learn/courses/30/lessons/144855 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제풀이1. 2022년 01월 데이터를 WHERE 조건에 건다.2. CATEGORY 별 GROUP BY3. CATEGORY 별 ORDER BY ASC 소스코드SELECT CATEGORY CATEGORY , SUM(SALES) TOTAL_SALESFROM BOOK_SALES ..
- [프로그래머스] 조건에 맞는 사원 정보 조회하기 (MySQL) 문제https://school.programmers.co.kr/learn/courses/30/lessons/284527 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제풀이1. With문을 사용하여 2022년 각 사원의 총 SCORE 를 기억한다.2. 이를 이용하여 MAX 값을 구한다. 소스코드WITH SUM_SCORESAS ( SELECT SUM(GRD.SCORE) SCORE , EMP.EMP_NO EMP_NO , EMP...
- ⭐ [백준] 7569번: 토마토 (Java/자바) 문제https://www.acmicpc.net/problem/7569 문제풀이전형적인 BFS 문제이다. 익지 않은 토마토를 Queue에 담고 순차적으로 높게, 낮게, 상, 하, 좌, 우 방향으로 움직이며 탐색하면 되는 문제이다. 아래와 같은 조건을 주의해야 한다. 1. 토마토가 모두 익지 않을 때는 `0` 을 출력한다. (토마토가 모두 익지 않는 경우가 존재한다.)2. 상자의 일부에는 토마토가 존재하지 않을 수 있다. 소스코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Arrays;import java.util.LinkedList;import java.uti..
- [백준] 1916번: 최소비용 구하기 (Java/자바) 문제https://www.acmicpc.net/problem/1916 문제풀이일반적인 다익스트라 문제이다. 오랜만에 풀어보니 어려움이 있었다.. 그래서 손으로 적어가면서 풀었는데 좀 많이 틀렸다... 내가 틀린 이유는 아래와 같은 부분을 고려하지 못하여서 틀렸다. 1. 출발지점과 끝지점이 같은 버스가 여러 대 올 수 있다. (이때는 최소값으로 갱신 또는 유지)2. Integer.MAX_VALUE 를 사용하여 풀려고 했는데 Overflow 문제가 있었다.3. 버스의 번호는 1~N 까지 이므로 초기화 해줄 때 또는 for문 돌 때 주의해야한다.소스코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayList..
- [백준] 14888번: 연산자 끼워넣기 (Java/자바) 문제https://www.acmicpc.net/problem/14888 문제풀이기초 구현 문제이다. 사실 이러한 형식으로 나오는 문제 중에서는 단순 구현 보다는 DP 문제가 더 많은데 난이도가 쉬운 문제로 출제가 되면서 단순 구현으로도 풀 수 있는 난이도의 문제로 출제 되었다. 해당 문제는 순서대로 읽어보고 차례대로 구현하면 별 이상 없이 바로 맞출 수 있는 문제이다. 소스코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Arrays;import java.util.StringTokenizer;public class Main { public static int N..
- [백준] 11726번: 2xn 타일링 (Java/자바) 문제https://www.acmicpc.net/problem/11726 문제풀이전형적인 DP 문제이다. 이 문제는 처음에 봤을 때 완전 탐색으로 풀어야하나? 이렇게 고민되기도 하지만, 그렇게 된다면 구현 자체도 복잡할뿐만 아니라 2의 N승까지의 복잡도를 갖기 때문에 시간내에 풀 수 없게된다. 천천히 생각해보면 N = 1, N = 2, N = 3, ... 일때의 상황을 그려보고 점화식으로 풀이가 가능한 형식임을 눈치채야한다. 점화식은 dp[N] = dp[N-1] + dp [N-2] 이다.dp[1] = 1 // N == 1 일 때 가능한 조합은 1가지 뿐이다.dp[2] = 2 // N == 2 일 때 가능한 조합은 2가지 이다. (2x1 을 2개 쌓거나, 1x2를 2개 쌓거나)dp[3] = 3 // N ==..
- ⭐ [백준] 11053번: 가장 긴 증가하는 부분 수열 (Java/자바) 문제https://www.acmicpc.net/problem/11053 문제풀이가장 베이직한 DP 문제라고 할 수 있다. 일반적으로 DP는 이전 값을 `기억` 하는데 초점을 맞추면 된다.memoization alogorithm 이라고 할 수 있는데 위 문제가 가장 기초가 되는 문제이다. 예제를 기준으로 설명하자면 아래와 같다. 1. N의 크기를 갖는 dp 배열을 생성한다.2. dp는 0~N 까지의 index의 수열들이 갖는 최대 부분 수열을 저장할 용도이다.3. dp는 초기에는 값을 업데이트 하지 않았기 때문에 자기 자신만을 수열로 갖는 상태이므로 1로 초기화 시켜준다.4. [ 10, 20, 10, 30, 20, 50 ] 수열의 0 index에서 부터 N번째 index까지 순차적으로 탐색한다.5. 탐..
- [백준] 9663 N-Queen (Java/자바) 문제https://www.acmicpc.net/problem/9663 문제풀이처음에는 map을 2차원 배열로 잡고 무지성으로 Brute Force 방법으로 풀었으나 당연하게도 시간초가 났다.이 문제를 푸는 방법에 대해서는 다른 블로그를 참고하여 풀었는데 그 방법을 보아하니 아래와 같은 로직으로 풀게 되어있었다. (사전지식)Queen 은 상/하/좌/우/대각선으로 마음대로 움직일 수 있다. 따라서 Queen의 상, 하, 좌, 우 (= 다른 말로 Queen이 놓여진 행/열)의 index와 같은 Queen은 무조건 공격 받는다. 그렇기 때문에 map의 크기를 2차원 배열로 사용하지 않고 1차원 배열로 해놓고 map의 index를 열로, map 안의 원소의 값를 행으로 생각하고 문제를 푼다. 1. Queen을 ..
- [백준] 2580 스도쿠 (Java/자바) 문제https://www.acmicpc.net/problem/2580 문제풀이백트래킹 문제로 아래와 같은 흐름을 따른다. 1. 현재 위치에서 가능한 번호를 넣은 채 다음으로 넘어간다.2. 순서대로 map 전체를 탐방하며 가능한 번호로 계속 넘어간다.3. 만약, 중간에 가능한 번호가 없는 구역이 나타나면 이전으로 넘어가서 가능한 번호를 다시 탐색한다.4. 1~3번을 반복하며 map의 끝까지 갔을 경우 종료한다. 소스코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public static int[][] map = new int[9][9]; ..
반응형
SMALL