전체 글 (356) 썸네일형 리스트형 아주 작은 습관의 힘 - 제임스 클리어 새해가 된 기념으로 좋은 습관을 가지고 싶어 읽게 된 책이다. 나는 나쁜 습관을 아주 많이 가지고 있다.ex) 손톱뜯기, 누워서 장시간 릴스보기 등등... 요즘 들어 습관은 복리의 엄청난 힘을 가지고 있음을 느끼기 시작했고,위와 같은 나쁜 습관들이 나에게 얼마나 안좋은 영향을 미치게 될까 무서운 마음에올해부터는 나쁜 습관은 고치고, 좋은 습관을 만들어보고자 마음을 먹었다. 한 번의 특별한 경험은 그 영향력이 서서히 사라지지만, 습관은 시간과 함께 그 영향력이 더욱 강화된다.즉, 습관은 정체성을 형성하는 가장 큰 증거가 되는 것이다. 인상 깊었던 구절이다.습관이 모여서 나 자신이 된다고 생각하니, 무의식적으로 사소하게 행했던 모든 일들을 돌아보게 된다.겁이 난다.내가 무의식적으로 했던 부정적인 생각과 .. 사랑의 기술 - 에리히 프롬 사랑은 기술인가? 기술이라면 사랑에는 지식과 노력이 요구된다. 혹은 사랑은 우연한 기회에 경험하게 되는, 다시 말하면 행운만 있으면 누구나 겪게 되는 즐거운 감정인가? 연애에 대한 가벼운 일상적인 노하우를 기대했던 마음으로 표지를 열었으나, 꽤나 전공책 같은 문체와 어려운 내용에 당황했다. 그러나 덕분에 곰곰히 생각하며 읽으니 사랑의 본질에 대해 생각해볼 수 있었고, 많은 자기반성을 했으며 앞으로의 사랑에 조금 더 나은 기술들을 적용할 수 있을거란 기대도 하게 되었다.책 요약 및 후기에리히 프롬은 사랑이 감정이 아니라 기술이라고 주장한다. 즉 사랑이 단순한 감정이기에 배울 필요가 없다고 생각하는 사람들이 많은데, 그게 아니라 사랑도 엄연히 기술의 영역이다 라는 것이다. 생각해보면 나도 사랑이 노력의 영역.. [프로그래머스] 광물 캐기 - java 나의 풀이 import java.util.*; class Solution { public int solution(int[] picks, String[] minerals) { int[][] weights = {{1,1,1},{5,1,1},{25,5,1}}; int answer = 0; int pickCnt = Arrays.stream(picks).sum(); // 광물을 5개씩 묶은 그룹들을 각 그룹의 광물의 가중치 합의 내림차순에 따라 정렬한 큐 // 다이아몬드->1 철->5 돌->25 PriorityQueue groups = new PriorityQueue(Collections.reverseOrder()); for(int i=0; i 0){ // 다이아몬드 곡괭이 사용 picks[0]--; pick =.. [백준] 14719번: 빗물 - java 1. 왼쪽 -> 오른쪽으로 벽의 최대 높이를 저장한다. 이때 비교하는 벽의 기준의 height(지금까지 중 가장 높은 블럭) 이다. 2. 오른쪽 -> 왼쪽으로 벽의 최대 높이를 저장한다. 1 과 2 에서 저장된 높이 중 더 작은 높이를 벽의 높이로 저장하며, 빗물이 고인 양을 구하기 위해 [ 블록 높이 - 벽높이 ] 로 계산한다. 나의코드 import java.io.*; import java.util.StringTokenizer; public class Main { static int h, w, height, answer, blocks[], rain[]; public static void main(String[] args) throws IOException { BufferedReader br = new .. [프로그래머스] 합승 택시 요금 - java 나의 풀이 import java.util.*; class Solution { static final int MAX = 20000001; static ArrayList[] graph; public int solution(int n, int s, int a, int b, int[][] fares) { int answer = MAX; graph = new ArrayList[n+1]; for(int i=0; ia & i->b 까지 따로간다. answer = Math.min(answer, start[i] + startA[i] + startB[i]); } return answer; } public int[] dijkstra(int start, int n){ int[] dist = new int[n+1]; // di.. [백준] 1253번: 좋다 - java 구상하기 정렬이 필수다. => 정렬이 된 숫자 배열을 투포인터로 탐색한다면, O(n) 안에 어떤 숫자가 두 개의 합으로 나타낼 수 있는지를 확인할 수 있다. left, right 값을 설정해주는데, 정렬을 해주었다고 right값을 (현재 숫자의 인덱스 - 1) 로 해서는 안된다!! -> 음수가 있어서 현재 숫자보다 큰 수와 더해도 현재 숫자가 나올 수 있다 각 포인터 값의 합이 현재 숫자보다 크다면, 더 작은 수와 더해야하므로 right-- 반대로 현재 숫자보다 작다면, 더 큰 수와 더해야 하므로 left++ 나의 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.. sqld 하루 벼락치기,,, 합격! 노랭이 책으로 하루전에 빡집중해서 풀었다 ^^7 이렇게나 고득점일 줄은 몰랐는데,,, 운이 좋았나보다 ~~~! 전공자분들은 며칠동안 노랭이 책만 풀면 고득점 너무 가능입니다..! 저는 하루전날 5시간 정도 공부한 것 같아요 :) 그냥 개념 몰라도 냅다 해답펼쳐놓고 같이 풀었습니다 ~! 그리고 암기해야 하는 부분은 잘 정리해두신 블로그 참조했습니다! [swea] 5607번: [Professional] 조합 - java 페르마의 소정리를 모르면 못 푸는 문제... 페르마의 소정리란 p가 소수이고, a가 p로 나누어지지 않는 정수 일 때 성립하는 법칙이다. 이 문제에서 정답을 구하기 위해선 결국 (n! / r! (n-r)!) 를 1234567891 로 나눈 나머지 값, 즉, (n! / r! (n-r)!) % 1234567891 을 구해야 한다. 결국 모듈러의 연산 공식을 활용해야 하는데, 모듈러 연산에서 나눗셈 연산은 허용되지 않는다! 즉, r! (n-r)! 의 분모에 대한 모듈러 연산은 분배법칙을 적용할 수가 없음을 뜻한다. 따라서 모듈러 연산의 곱셈의 분배법칙을 이용해야 한다!! (n! / r! (n-r)!) 을 곱셈꼴로 만들기 위해선 역원을 이용해야 한다! 와 같다. 이때, 페르마의 소정리를 이용한다면 아래와 같다... 이전 1 2 3 4 ··· 45 다음