분류 전체보기 168

[Java] 클래스 관련 문제

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

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

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

[MYSQL] DATETIME에서 DATE로 형 변환 (DATE_FORMAT)

안녕하세요!오늘은 DATE_FORMAT에 대해 알아보려고 합니다.   DATE_FORMATDATE 또는 DATETIME 형식의 값을 지정된 형식의 문자열로 변환하기 위해 사용합니다.(=사용자가 원하는 형태로 변경하는 것)사용 방법(대소문자 사용 주의!)DATE_FORMAT(datetime컬럼명, 포맷할 형태)포맷 형태 정리( ' - '로 구분 )포맷문자설명(예시)포맷문자설명(예시)포맷문자설명(예시)포맷문자설명(예시)%Y4자리 년도(2024) %y 2자리 년도(24)     %M월 영어 풀네임(August) %b 월 짧은 영어(Jan, Aug, ...)  %m 월 (01~12)  %c월 (1~12)(앞에 0이 없어진 버전!) %D일 영어(1st, 6th, 29th..)%d일 (01~31)%e일 (1~31)..

[Java/코딩테스트] 음양 더하기 ( + 지역변수에 대하여)

안녕하세요!오늘은 생각하면 되게 간단한 코딩테스트를 들고왔습니다..!   처음에는 true면 그냥 더하고, false면 음수로 봐꿔줘서 더하면 되겠구나? 라고 간단하게 생각했는데음수로 봐꿔주는 메서드가 있는건가? 문자열로 "-" 더해줄까?? 라고 생각을 깊게 하다보니 제대로 못풀고 있었습니다. 그러던 찰나에 "-1"을 곱하면 당연히 "음수"가 된다는 생각이 떠올랐습니다. 그리고 또 다른 난관에 부딪쳤는데,,그럼 어떻게 합쳐서 더하지..? 생각했습니다.(코딩을 막 배운 저라, 가끔씩 생각이 이상한쪽으로 깊게 생각하게 되더군요,,ㅎㅎ)  많은 생각과 고민을 한 만큼 오늘 코딩테스트는 한 번의 시도 끝에 통과했습니다!! 뭔가 생각한대로 한번에 통과하니깐 기분이 좋더라구요ㅎㅎ이제 저 코드를 더 간단하게 할 방법..

[MySQL/코딩테스트] NULL 처리하기(IFNULL, CASE, COALESCE 사용)

안녕하세요!오늘은 SQL 코딩테스트 문제를 들고왔습니다.  일단 저는 이 문제를 보고,  "replace"를 활용하여 문제를 풀으면 되겠는데?? 생각했습니다ㅎㅎ  당연히 통과할 줄 알았던 테스트였지만,,결과가 이상하게 나오더라구요..!그래서 replace에 대해 다시 찾아 본 결과,replace는 바꿀 값이 아무것도 없으면 "Null"을 치환한다고 합니다.생각해보니깐 문자열을 바꿔주는 함수인데, 애초에 아무것도 없는(null) 값을 바꾸려고 시도했던 부분이 스스로 너무 부끄러웠습니다ㅎㅎ  이제! Null 값을 치환해주는 방법에 대해 알아보겠습니다. 1.  IFNULL 함수컬럼의 데이터가 null인 경우 대체 값으로 치환할 수 있습니다.(null값을 치환하는 가장 간단한 방법!!)사용 방법IFNULL(컬럼..

[Java/코딩테스트] 서울에서 김서방 찾기

안녕하세요!오늘도 코딩테스트 문제를 가져왔습니다.   문제를 풀려고 생각해 보다 보니 answer라는 문자열 변수는 필요가 없을 것같아서 지운 상태에서 시도를 해보았다. 왜 index값이 0이 나왔지?라는 의문이 들었고,내가 짠 코드를 자세히 살펴보니 문자열을 비교할 때는 "=="연산자를 사용하면 안되는데 실수했다.왜냐면, "=="연산자는 "주소값"을 비교할 때 사용하기 때문이다. cf )      == 연산자객체의 주소를 비교하여 일치하는 확인할 때 사용        equals() 메서드객체의 내용을 비교하여 같은지 확인할 때 사용  오늘의 요약내용을 비교 하고 싶다 → equals()주소값을 비교 하고 싶다 → 비교 연산자

[Java/코딩테스트] 콜라츠 추측

안녕하세요!오늘도 코딩테스트 문제를 가져왔습니다.   일단, 마음가는대로 코드를 작성하고는 테스트 했습니다.ㅎㅎ 그랬더니, 테스트3이 통과되지 못하였고문제를 다시 보니 놓친 부분이 있었습니다.실행한 결괏값 488이 걸려서 곰곰히 생각해보니 지금 int정수형이지만입출력 예시 3번과 같이 큰 수들이 while문 돌면서 int의 최댓값을 넘어버릴것 같다는 생각이 들어long으로 형변환을 시켜주었습니다. 그리고, int answer가 선언되어있는데 굳이 count를 선언해서 복잡했던 코드들도 수정하였습니다.   오늘의 요약굳이 선언하여 코드를 복잡하게 만드는 코드가 없는지 한번 더 생각해 보자.

[Java/코딩테스트] 하샤드 수 판별

안녕하세요!오늘 풀어본 코딩테스트에 대해 다뤄보도록 하겠습니다.  일단, 이 문제를 풀기 전에 알아야 될 수학적 용어를 정리하고 풀어야 합니다.(입출력 예시 보고도 충분히 풀이가 가능하긴 하지만, 궁금하니깐..!!) 하샤드 수주어진 진법에서 그 수의 각 자릿수 숫자의 합으로 나누어 떨어지는 자연수를 말한다.예시 : 12는 각 자릿수 숫자의 합이 1+2=3이고, 12가 3으로 나누어떨어지므로 12는 10진법에서 하샤드 수다. 그러나 16은 1+6=7이고, 16이 7로 나누어떨어지지 않으므로 16은 10진법에서 하샤드 수가 아니다. (출처 : 나무위키)  문제 푼 순서1.  10으로 나누어 나온 숫자들을 더하는 식에 집중하다보니, if문에서 실수를 하였다.2. if문을 고쳤더니, 왜 다 통과가 안돼지? 생각..

intellij 단축기 정리

ctrl + alt + v = 밑에 밑줄 친 부분 자동으로 완성됨 ctrl + D = 커서 놓여져 있는 줄 바로 복사됨 ctrl + p = 매개변수(파라미터)에 뭐가 필요한지 알려줌ctrl + w = 더블클릭, 지정하는 것처럼 됨ctrl + o = 오버라이드 자동으로 완성해줌(뭘 오버라이드 할 지 선택하면 됨)ctrl + alt + n = 자동으로 생성?밑에처럼 배열 생성하고, 위에 선언했던 것을 밑에 배열 안에 선언하고 싶을때 사용!!!!ctrl + alt + m = 메서드 자동 생성shift + F6 = 한꺼번에 이름 변경 가능

.../TMI 2024.08.03