TIL(Today I Learned) 40

[MYSQL] 시간 차이 구하는 방법 3가지

안녕하세요!제목 그대로 MYSQL에서 시간 차이를 구하는 방법 3가지를 간단하게 요약해보겠습니다. 밑의 코딩테스트 문제로 설명하겠습니다. 1. DATEDIFF 함수 사용두개의 날짜값의 차이를 int로 반환하는 함수이다.사용 방법DATEDIFF(날짜_1,날짜_2)DATEDIFF를 사용한 정답 :   2. TIMESTAMPDIFF 함수 사용두개의 날짜값의 차이를 unit에 들어가는 타입을 기준으로 반환하는 함수이다.unit 단위 기준 : second(초), minute(분), hour(시간), day(일), week(주), month(월), quarter(분기), year(연도)사용 방법TIMESTAMPDIFF(unit, 날짜_1,날짜_2)TIMESTAMPDIFF를 사용한 정답 :  2. 빼기 부호 사용빼기..

[git/github] 중요한 정보가 담긴 내용까지 git push 안 하고 싶을 때

안녕하세요!제목 그대로 비밀번호, 포트 번호 등 중요한 정보를 git 안하고 싶을 때 사용하는 방법입니다. 간단하게 요약해서 정리하겠습니다.  1. ".gitignore" 파일은 push해도 github에 업로드가 되지 않는다.   2. 최상위 폴더 밑에 ".env" 파일을 만들어서 숨기고 싶은 내용들을 담는다.  3. resources 파일 밑에 "application.yml" 파일을 만들어서 중요한 정보를 가리고 push한다.(밑의 이미지에서 $ 표시를 사용하여 중요한 정보를 어떤 식으로 가리는지 알겠죠?!)

[Java/코딩테스트] 문자열 다루기 기본( + 아스키코드에 대하여)

안녕하세요!아스키코드에 확실하게 집어 넘어갈 수 있는 코딩테스트를 가지고 왔습니다.    일단, 문제를 겪은 코딩테스트입니다.  제가 생각하는 대로 코드를 작성해 보았습니다.시도1설명1. if문으로 문자열 길이가 4이거나 6일때만 for문을 시행해주도록 합니다.2. chaArr배열의 값을 꺼내 비교해서 0과 9사이에 값이 맞으면 'true'를 반환해주도록 했습니다.    (→ 추후 이 부분이 문제였습니다,,,!           why?? 그냥 0은 int형 0과 똑같고, char형 '1'은 int형 49입니다. 그래서 위에 코드는 잘못된 것입니다.)  시도1의 문제점1. 문자열 길이를 걸러주는 if문이 너무 장황함     →  해결 : != 논리연산자를 사용하여 if문을 간단하게 바꿔주었습니다.2. 아..

[Java/코딩테스트] 부족한 금액 계산하기

안녕하세요!오늘은 한번에 생각한 대로 풀려서 기분이 좋은 코딩테스트를 가지고 왔습니다! ㅎㅎ    문제가 길어서 복잡해 보이지만 전혀 복잡한 문제가 아니더라구요..! 1. long answer을 -1로 초기화시킨 이유가 제한사항에서 int 값을 넘더라구요, 그래서 초기화된 상태 그대로 두었습니다. 2. for문을 이용하여 놀이기구를 타고싶은 횟수만큼의 이용가격을 계산해줬습니다. 3. 이용가격과 원래가지고 있는 돈을 빼줬습니다.(answer가 long타입이기때문에 money를 형변환 시켜줬습니다.)   테스트를 추가해 확인하였더니 통과가 되더군요ㅎㅎ   그런데 제출했더니 테스트4에서만 실패가 뜨더군요..!(자신있게 제출하였지만,,,ㅋㅋㅋㅋ) 그래서 문제를 다시 읽어보니깐 "단, 금액이 부족하지 않으면 0을..

[Java/코딩테스트] 문자열 내림차순으로 배치하기

구글링을 해보니, 문자 배열을 정렬하는 방법은 "Arrays.sort()메서드" 밖에 없는 것 같다.(물론, Stream을 이용한 정렬도 있는 것 같은데, 아직 배우지 않아서 잘 모르겠다,,) 문자열을 문자 배열로 변환하는 방법에는 2가지 방법을 사용할 수 있다는 것을 알았다. 1. split() 메서드 활용1. 일단 문자열 's'를 문자 배열로 변환해준다.  → 이때 "split()"메서드를 활용하여 문자를 하나씩 배열에 담는다. 2. Arrays.sort() 메서드를 활용하여 오름차순으로 정렬해준다. 3. Collections.reverseOrder() 메서드를 활용하여 반전시켜준다. 4. 향상된 for문을 사용하여 문자배열을 문자열로 변환해준다.  2. toCharArray() 메서드 활용1. 일단..

[Java/코딩테스트] 약수의 개수와 덧셈

설명1. left와 right 사이에 있는 숫자를 조회하기 위해, for문을 사용해줍니다.2. 약수의 개수를 세기 위해 'count'를 선언, 초기화해줍니다.3. 이중for문을 사용하여 해당되는 숫자의 약수를 구해줍니다.4. if문으로 약수가 맞으면 약수의 개수('count')를 증가시켜줍니다.5. 약수의 개수를 if문을 이용하여 짝수일 경우에는 더하고, 홀수일 경우에는 빼줍니다.

[Java/코딩테스트] 가운데 글자 가져오기

안녕하세요~오늘은 생각한 대로 자바 문법으로 옮겼던 코딩테스트입니다.(구글링도 하지 않고, 제 스스로 했답니다..ㅎㅎ)      일단, 문제를 보고 어떤 규칙이 있는지 찾아보았습니다.그리고 보니깐 2로 나누었을때 나온 몫의 값부터 추출하면 되겠더군요 그래서 "substring()" 메서드를 활용하였습니다.substring() 메서드에 대한 설명에 대해서는 제 블로그에 올려놨던 내용을 예시로 밑에 추가하겠습니다.(형광펜 친 부분만 보세요~!)  위의 설명을 토대로 문제를 풀기 위해 인덱스를 어떻게 해야할지 직접 필기를 했습니다.직접 쓰면서 해야 이해가 빠르더라구요ㅎㅎ    이제, 위의 내용들을 토대로 짠 코드입니다.  저는 테스트의 3, 4번째를 추가하여 완벽히 실행되는지 더 확인하였습니다.   오늘의 요..

[Java] 클래스 관련 문제

안녕하세요!오늘은 클래스에 대해 공부하다가 나중을 위해 정리해 놓고 싶은 부분을 가져왔습니다.  일단, 만들어야되는 클래스들을 먼저 보여드리겠습니다. 밑에는 위에를 토대로 제가 만든 클래스들 입니다.Book 클래스 Library 클래스 Main 클래스 출력창    오늘의 요약향상된 for문을 사용할 때, 클래스(객체)의 변수타입도 사용이 가능하다..!

[Java/코딩테스트] 없는 숫자 더하기

안녕하세요!오늘은 제가 의도한 대로 문제를 풀고싶어서 고민을 많이했던 코딩테스트를 가지고 왔습니다.   시도 1.없는 숫자를 어떻게 골라내지 생각하다가 노가다로 ||(또는) 연산자를 사용해서 없는 숫자를 고르고 싶었으나,,그럼 없는 숫자들은 어떻게 더하지..? 라고 생각이 들고는,,, 답이 안나와서 다른 시도를 했습니다. 시도 2.이중 for문을 사용하여 "numbers 배열에 들어있는 값( i )" 과 j를 선언하여 비교해서 없는 숫자를 더하고 싶었습니다그러나 비교해서 없는 숫자를 다 더하다보니깐 있는 숫자까지 더해버리는 결과를 초래하게 되더군요 사실, 왜이렇게 복잡하게 풀지??라는 생각이 들 수 있지만(다른분들 풀이 보니깐 0~9까지 더한다음에 numbers의 합을 빼줘서 간단하게 풀더라구요) 저는 ..