전체 글 97

[프로그래머스] 같은 숫자는 싫어

1. 내 풀이쌩으로 구현했다.import java.util.*;public class Solution { public ArrayList solution(int []arr) { ArrayList answer = new ArrayList(); int insertIdx = 0; for(int i = 0; i   2. 다른 분 풀이문제의 의도대로 stack을 이용해서 푼 모습을 볼 수 있다.import java.util.*;public class Solution { public Stack solution(int []arr) { Stack stack = new Stack(); for(int num : arr){ ..

[프로그래머스] 문자열 다루기

https://school.programmers.co.kr/learn/courses/30/lessons/12918?language=java 1. 본인 풀이- 길이가 4나 6이 아니면 바로 리턴- for문 돌며 숫자가 아니면 바로 리턴- 리턴이 안되면 결국 trueclass Solution { public boolean solution(String s) { if(s.length() != 4 && s.length() != 6) return false; for(int i = 0; i= '0' && c  2. 예외처리 활용- 길이가 4나 6인 것 중 int로 변환이 가능하면 문자가 없다는 뜻이므로 true, 변환불가능하면 문자가 있다는 뜻이므로 false- 기발한 생각이지만 자바 ..

BEYOND SW 캠프 15기 5주차 회고

1. FACTS : 일주일동안 있었던 일, 내가 한 일1-1. 이번 일주일동안 있었던 일참조 자료형과 기본 자료형에 대해 더 확실히 알게 되었다. 참조 자료형으로 만들어진 변수에는 무조건 해쉬값(주소값)이 들어있다는 것을 알게 되었다. 그에 따라 String형, List 등의 내부 값을 비교할 때 ==보다는 equals등을 사용해야 한다는 것을 알게 되었다.함수에 가변 인자가 있다는 것을 배웠다.heap 영역에서의 참조 자료형은 무조건 null로 초기화 된다는 것을 알게 되었다.대신 2차원 배열만큼은 `int[][] arr = new int[3][4];` 와 같이 쓰면 `arr[2] = new int[4];`와 같이 초기화하지 않아도 초기화되어있다는 것을 확실히 배웠다.캡슐화, 상속, 다형성이라는 개념을..

회고/Weekly 2025.02.24

[Java] 오버로딩 성립 요건

1. 오버로딩이란? 동일한 클래스 내에서 다른 것은 다 똑같고 `매개변수 리스트`가 다른 함수를 작성할 때 우리는 오버로딩을 한다고 한다. 2. 오버로딩이 성립하지 않는 요건매개변수 리스트(매개변수의 타입, 갯수, 순서)가 같으면 성립하지 않는다.접근지정자가 다르면 성립하지 않는다.리턴형이 다르면 성립하지 않는다.매개변수의 이름이 달라도 매개변수의 타입, 갯수, 순서가 같으면 성립하지 않는다.아래의 코드를 참고하여 성공적인 오버로딩을 하길 바랍니당 public void test() {} // public void test() {} //에러남 // private void test() {} //에러남 // public int test() { return 0; } //에러남 public void test..

Java 2025.02.21

[Java] 접근제어자

1. 클래스의 접근제어자클래스를 정의할 때 사용할 수 있는 접근제어자 : public & defaultpublic : 모든 클래스에서 접근이 가능하다.default(생략) : 같은 패키지 안의 클래스에서만 접근이 가능하다.public class Book { // public 클래스 ...}class NoteBook { // default 클래스 ...} 2. 클래스 멤버의 접근 제어자클래스 멤버를 정의할 때 사용할 수 있는 접근제어자 : public, private, protected, default(생략)public : 공개 , 모든 클래스에서 접근이 가능private : 비공개 , 같은 클래스 안에 있는 멤버들만 접근이 가능protected : 같은 패키지 안의 모든..

Java 2025.02.20

[MongoDB] 설치 에러 : mongo 커맨드 없음 에러

0. 들어가기 전에만약 환경 변수 설정을 아직 안하셨다면 환경변수 설정을 완료해주세요.cmd 창에서 아래의 명령어는 잘 나오는 상태여야 합니다.   1. 에러 원인MongoDB 6.0 버젼부터 mongo 명령어 대신 mongosh를 사용한다는 공식문서가 있습니다.그래 mongoshell을 설치해주어야 합니다. 2. 해결 방법https://www.mongodb.com/try/download/shell?jmp=docs위 링크에 들어가 mongodb shell msi 다운로드해주세요. 이후 cmd 창에 들어가서 명령어를 치면 해결가능합니다.

Database/MongoDB 2025.02.20

[프로그래머스] 나누어 떨어지는 숫자 배열

1. 내 풀이string builder를 배우고 활용해보았는데, 이 방법보다는 list를 이용해 푸는게 더 효율적이었을 것 같다. 왜이렇게 풀었지 ..import java.util.*;class Solution { public int[] solution(int[] arr, int divisor) { int[] answer = new int[1]; StringBuilder sb = new StringBuilder(); for(int num : arr ) { if(num % divisor == 0) sb.append(num+" "); } if(sb.length() == 0) { answer[0] = -..

[프로그래머스] 정수 제곱근 판별

1. 내 풀이String 으로 바꿨다가 Long으로 바꿨다가 살짝 온몸비틀기해서 풀었다. class Solution { public Long solution(long n) { long answer = 0; double num = Math.sqrt(n); if(num - (int)num > 0) return -1L; String s = ((int)Math.sqrt(n) + 1) + ""; Long num3 = Long.parseLong(s); return num3 * num3; }}  2. 다른분 풀이Math.pow와 Math.sqrt를 이용하여 간단히 구할 수 있었다.class Solution { pub..

String Builder 내장함수 알아보기

1. appendStringBuilder 객체에 값을 넣을 수 있다. 어떤 자료형이든 string과 비슷한 형태로 저장되게 된다.append(boolean b)append(char c)append(char[] str)append(char[] str, int offset, int len)append(double d)append(float f)append(int i)append(long lng)append(CharSequence s)append(CharSequence s, int start, int end)append(Object obj)append(String str)append(StringBuffer sb)appendCodePoint(int codePoint)2. deleteStringBuilder 객체..

Java 2025.02.20