프로그래머스 - 기초트레이닝 6일차
·
Java & Spring/코딩테스트
특정 문자열로 끝나는 가장 긴 부분 문자열 찾기- 사용명령어 : str1.lastIndexOf(str2); → str1속 str2가 속하는 가장 마지막 index 시작                       str.substring(a, b);문자열이 몇번 등장하는지 세기ad 제거하기어려웠던부분 : 그냥 for문의 i를 1씩 증가시키면서 remove를 하면 remove되면서 temp의 index에 변동이 생겨                         순환참조시에 문제가 발생되게된다.                         이를 해결하기 위해 역순으로 i를 감소시키면서 for문을 실행한다.다른방법 :- 사용명령어 : iteraotr                       Iterator iteraot..
프로그래머스 - 기초트레이닝 5일차
·
Java & Spring/코딩테스트
n번째 원소부터순서 바꾸기왼쪽 오른쪽다른방법 :for문을 통해 "l"혹은"r"이 나오는 인덱스를 찾고해당 인덱스가 발견되면 return을 통해 조건값을 바로 반환하여 메서드를 종료시킨다.내가 작성한 for-break을 사용할 필요가 없으며굳이 switch로 길게 작성할 필요 없이 if-else if로 해결 가능하다.n번째 원소 까지n개 간격의 원소들다른방법:삼항연산자를 통해서 새로운 배열 answer 의 크기를 정의하고for문을 통해서 answer의 요소들을 대입한다.홀수 vs 짝수5명씩다른방법 :이러한 경우 굳이 다른 변수(idx)를 추가 할 필요가 없다.할 일 목록다른방법 :- 빈 문자열 str 선언- 삼항연산자를 이용해 false인 경우 문자열연산   ex) ("practiceguitar",) ("..
프로그래머스 - 기초트레이닝 4일차
·
Java & Spring/코딩테스트
배열 만들기 5부분 문자열 이어 붙여 문자열 만들기문자열의 뒤의  n글자접미사 배열다른방법 : 결국 한 글자씩 추가되며 배열에 더하므로 문자열 my_string의 길이만큼의 빈 배열 생성                  for문과 substring을 통해 한 글자씩 문자열배열에 추가                  Arrays.sort(answer)을 통해 문자열정렬접미사인지 확인하기다른방법 :- 사용명령어 : str1.endsWith(str2) → str1이 str2가 접미사이면 true 아니면 false를 반환문자열의 앞의 n글자접두사인지 확인하기- 사용명령어 : str1.startsWith(str2) → 접두사인지 확인하는 메소드문자열 뒤집기다른방법 : 세로읽기다른방법 : for문을 통해 c번째(c-1..
프로그래머스 - 기초트레이닝 3일차
·
Java & Spring/코딩테스트
수 조작하기 2수열과 구간 쿼리 3 수열과 구간 쿼리 2풀면서 어려웠던 부분 : answer[i]의 값이 계속 조건에 만족하는 a[j]의 갚으로 덮어져서문제가 계속 발생, 해당 부분을 해결하기위해 answer[i]의 초기화 값 위치가 중요첫번째 if 조건에 충족하지 않는 경우 answer[i]의 값은 초기화값이므로 -1을 대입수열과 구간 쿼리 4풀면서 어려웠던 부분 : 문제에서 요구하는 인덱스 i자체가기존 arr[i]를 요구하는 것 이므로, 새로 생성한 a에서 슬라이싱한 s를 더해줘야한다ex) s = 2라면 a[0] = arr[0+2] 를 나타내는 것이다.배열 만들기 2- 사용명령어 : ArrayList array = new ArrayList();풀면서 어려웠던 부분 : Math.pow(10,i)*5 로..
프로그래머스 - 기초트레이닝 2일차
·
Java & Spring/코딩테스트
코드 처리하기사용명령어 : for문                      switch문                     if문등차수열의 특정한 항만 더하기 사용명령어 : for문                      if문                     Integer.parseInt(str);                     Integer.toSring(a);다른방법 : - 어짜피 included의 요소들이 boolean값이므로 if에 바로 대입하여 true 경우만을 answer에 더해주면됨주사위 게임2원소들의 곱과 합이어 붙인 수마지막 두 원소- 사용명령어 : Array.copyOf(arr,n); → 배열 arr의 복사본 크기 n의 배열을 생성수 조작하기 1 다른방법 :  사용명령어 : c..
프로그래머스 - 기초트레이닝 1일차
·
Java & Spring/코딩테스트
문자열 출력하기- 사용명령어 : System.out.println(); → 출력    a와 b 출력하기- 사용명령어 :  System.out.println(); → 출력                        ※ 출력명령어 ( ) 내에서                            "a"는 문자열 a를,                            a는 int a를 의미,                            \n은 줄바꿈을,                            +연산자는 각 단어들을 조합하여 출력문자열 반복해서 출력하기- 사용명령어 : for문(반복)대소문자 바꿔서 출력하기- 사용명령어 : str.length() : 문자열 str의 길이를 int값으로 반환        ..
프로그래머스 - 배열의 원소만큼 추가하기
·
Java & Spring/코딩테스트
배열{arr}을 입력배열의 길이가 배열{arr}의 원소의 총합크기를 가진 새로운 배열 생성이중 for문을 통해 배열{answer}에 배열{arr}의 k번째 인덱스를 arr[k]번만큼 추가배열{answer}의 인덱스 초기화 값을 for문 밖에 두어 계속 0부터 시작하는것을 방지- 풀이중 문제점 :위 코드에서 처음에 두번째 for문에서 j값이 계속 0으로 초기화 돼서 풀이에 어려움이 있었음answer[0]~answer[4]까지 arr[0]인 5를 입력 한 후j = 0으로 초기화 돼어 다시 answer[0]이 arr[1]인 1으로 초기화돼고다시 j = 0으로 초기화 후 answer[0]~answer[3]까지가 arr[2]인 4로 채워지게됨결과 {4,.4,4,4,5,0,0,0,0,0} 출력→ 해결방법 : 초기화..
생활코딩 - Java(Collection framework)
·
Java & Spring/Java
□ Collection framework 구성  - set : 중복을 허용하지 않음(순서가 보장되지 않음)- list : 중복 허용(순서 보장)□ ArrayList배열은 크기를 한번 지정하면 크기를 초과할 수 없지만ArrayList는 크기를 미리 지정하지 않기 때문에 얼마든지 많은 값을 저장할 수 있다.구분배열ArrayList값의 개수.length.size출력[인덱스번호].get(인덱스번호) ※ ArrayList의 메소드 add의 입장에서는 인자로 어떤 형태의 값이 올지 알 수 없다.    그렇기 때문에 모든 데이터 타입의 조상인 Object 형식으로 데이터를 받고 있다.   따라서 ArrayList 내에서 add를 통해서 입력된 값은 Object의 데이터 타입을 가지고 있고, get을 이용해서 이를 꺼..
생활코딩 - Java(참조)
·
Java & Spring/Java
□ 복제 □ 참조 ex) 메모장으로 예를 들었을 때 '복사본'의 경우 서로 복제된 상태로 더이상 연관이 없지만 '바로가기'의 경우 원본 '메모장'을 참조한 상태이므로 상호작용이 발생함 또한 복사의 경우 용량이 2배가 되는 것 이지만 바로가기는 훨씬 작은용량을 차지하게 됨 ex2) 아래 코드로 다시한번 참조에 대해 정리해보면 1) runValue 메소드부터 확인해보면 기본변수 a에 1이라는 값이 들어있다. 그다음 _value라는 메소드를 호출 하는데 해당 메소드의 매개변수 b에 a를 넣는 상황이다(int b = a;). 그 후 변수 b의 값을 2로 바꾸더라도 a에 영향을 주지 않는다. → runValue, 1 2) A a = new A(1); : id 값이 1인 새로운 A 객체를 생성하고, a 변수가 이 ..
생활코딩 - Java(상수와 enum)
·
Java & Spring/Java
□ enum enum은 열거형(enumerated type)이라고 부른다. 열거형은 서로 연관된 상수들의 집합이라고 할 수 있다. 위의 예제에서는 Fruit가 말하자면 열거인 셈이다. - enum의 특징 코드가 단순해진다. 인스턴스 생성과 상속을 방지한다. 키워드 enum을 사용하기 때문에 구현의 의도가 열거임을 분명하게 나타낼 수 있다. □ enum 생성자 위 코드에서 APPLE("red")에서 ( )는 생성자를 호출 그 생성자를 Fruit(String color)의 매개변수 color에 들어감 this.color = color에서 color으로 들어감 this.color은 다시 전역변수 public String color으로 들어감 출처 : 생활코딩 유튜브 : https://www.youtube.co..