3일차 - 알고리즘 코드카타
·
Java & Spring/코딩테스트
- 진행일자완료 번호24.07.161~2024.07.1721~35- 회고메소드 사용 에러해당 코드에서 [cannot find symbol] 에러 발생해결 : numericValue가 아닌 문자에서 유니코드를 활용해 '0'을 빼주는 방식으로 해결함공식사용을 통한 for문 사용 제한으로 코드 개선두 정수 사이의 합개선전for문을 활용해 하나씩 더함개선후등차수열의 합 공식인 [(항의개수) * (두 수의 합) / 2]을 활용오버플로우 발생개선전개선후입력받는 int num을 long으로 형변환 후 while문 진행문자열 내 변수 사용하기문자열 연결문자열 포맷'MessageFromat'문자열 재구축하기개선전개선후- [s.toCharArray()] : String s를 문자단위로 나눠 char배열 생성- [Array..
2일차 - 알고리즘 코드카타
·
Java & Spring/코딩테스트
- 진행일자완료 번호24.07.161~20    - 회고https://school.programmers.co.kr/learn/courses/30/lessons/12934 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 개선전불필요한 형변환과 변수선언들이 있음개선후long타입에서 바로 Math.sqrt를 하게되면 소수점이 잘리므로만약 n의 제곱근이 정수가 아니라면 처음 값 n과 달라지게된다.
스타터 노트
·
Java & Spring
내가 Spring(Java) 트랙에 참여한 계기는 무엇인가요?내일배움캠프를 지원하기 전 유튜브를 통해서 기초 강의를 들었을 때 프론트앤드쪽 보다는 백엔드쪽이 흥미로워서 Java트랙에 지원하게되었습니다.Java를 하기 전 Python도 잠깐 경험해보았으나 취업시장에서는 Java가 대중적이라고해서입니다.내가 이해한 개발자는 어떤 역할을 하는 사람인가요?생각하고 상상하는 것을 코드를 통해 구현하여 현실에 만드는것입니다.개발을 경험해보셨나요? 해보셨다면 어떤 경험을 하셨는지를 작성해주시고, 아니라면 개발에 대해 찾아본 것을 작성해주세요.유튜브강의를 듣고 간단한 코드테스트를 진행한 경험밖에 없습니다.개발자의 역할을 수행하는 데에 있어 나의 강점과 연관된 부분은 무엇이라고 생각하나요? 혹은 보완, 개선하고 싶은 개..
NeetCode - Two Pointers
·
Java & Spring/코딩테스트
□ Is Palindromehttps://neetcode.io/problems/is-palindrome NeetCode neetcode.io- 코드 리뷰반복문을 통해서 양쪽 끝에서 시작하여 charAt과 isLetter || isDigit을 이용하여 새로문 문자열 생성※ isLetter || isDigit 은 isLetterOrDigit으로 사용 가능 □ Two Integer Sum IIhttps://neetcode.io/problems/two-integer-sum-ii NeetCode neetcode.io- 코드 리뷰※ 공간복잡도 O(1)의 조건이 있음List 생성 후 numbers배열 요소 대입만약 targer - numbers[i] 가 list 내에 있으면해당 indexOf를 가져오고 + 1 을 하..
NeetCode - Arrays & Hashing
·
Java & Spring/코딩테스트
https://neetcode.io/roadmap NeetCode neetcode.io□ Duplicate Integerhttps://neetcode.io/problems/duplicate-integer NeetCode neetcode.io □ Is Anagramhttps://neetcode.io/problems/is-anagram NeetCode neetcode.io □ Two Sumhttps://neetcode.io/problems/two-integer-sum NeetCode neetcode.io  - HashMap 사용1. HashMap 초기화HashMap prevMap = new HashMap(); → prevMap은 배열의 값과 해당 인덱스를 저장하는 HashMap입니다.2. 배열 순회for (..
프로그래머스 - 기초트레이닝 7일차(완료)
·
Java & Spring/코딩테스트
뒤에서 5등 위로전국 대회 선발 고사문자열 정수의 합- 문자 '1' 은 아스키 코드 49, '0'은 48이다 문자에서 순수 숫자를 얻고싶으면 - 48 or - '0'을 시행하면된다.문자열을 정수로 변환하기다른방법 :- Integer.parseInt(str); 문자열을 정수형으로 변환하는 메소드0 빼기다른방법:두 수의 합- 사용명령어 : BigInteger`BigInteger` 클래스는 자바에서 정수형 데이터를 임의의 정밀도로 표현할 수 있도록 해주는 클래스입니다.이 클래스는 `int`나 `long`으로 표현할 수 없는 매우 큰 정수를 다룰 때 사용됩니다. 예를 들어, 수십 자리 이상의 정수를 다루어야 하는 경우에 유용합니다. `BigInteger` 클래스의 객체는 불변(immutable)이므로 한 번 생..
프로그래머스 - 기초트레이닝 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 로..