개발 기록
-
[프로그래머스/JAVA] 피보나치 수Algorithm/Java 2024. 10. 30. 15:32
https://school.programmers.co.kr/learn/courses/30/lessons/12945?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr[ 오답 노트 ] ❌ 기존 오답 코드결과는 맞게 나오지만 시간 초과가 났다class Solution { public int dfs(int d) { if(d == 0) { return 0; }else if(d == 1) { return 1; } return dfs(d-1) + dfs(d-2); } ..
-
[프로그래머스/JAVA] 이진 변환 반복하기Algorithm/Java 2024. 10. 30. 15:32
https://school.programmers.co.kr/learn/courses/30/lessons/70129?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 📌 문제 요약 0과 1로 이루어진 문자열 s를 변환하여 s가 "1"이 될 때까지 다음 과정을 반복:문자열에서 모든 0 제거제거 후 문자열의 길이를 2진법으로 변환최종적으로 변환 횟수와 제거된 0의 개수를 반환하는 문제.[ 오답 노트 ]❌ 기존 오답 코드 class Solution { public int[] solution(String s) { int[] answer = new int[2]; ..
-
[프로그래머스/JAVA] 콜라 문제Algorithm/Java 2024. 10. 30. 15:32
https://school.programmers.co.kr/learn/courses/30/lessons/132267 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 📌 문제 요약 빈 병 a개를 가져가면 콜라 b병을 주는 마트가 있다.현재 n개의 빈 병이 있을 때, 상빈이가 받을 수 있는 콜라의 총 병 수를 계산하라.빈 병이 a개 이상이어야 교환 가능.교환 후 남은 병은 다음 교환에 사용 가능. [ 오답 노트 ] ❌ 기존 오답 코드class Solution { public int solution(int a, int b, int n) { // 빈 병 2개 -> 1개 줌 (==> 2) ..
-
[프로그래머스/JAVA] 문자열 내 마음대로 정렬하기Algorithm/Java 2024. 10. 29. 21:55
https://school.programmers.co.kr/learn/courses/30/lessons/12915 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr[ 오답 노트 ] ❌ 기존 오답 코드import java.util.*;class Solution { public String[] solution(String[] strings, int n) { String[] answer = new String[strings.length]; // 1. strings에서 인덱스가 n인 문자 찾기 => "u", "e", "a" String[] ch = new ..
-
[CS/Data Structure] Array와 Linked ListCS/자료구조 2024. 10. 29. 21:55
• ⭐ Array(배열)과 LinkedList(링크드리스트)의 차이?➀ 배열 : 메모리 상에 순서대로 데이터를 저장합니다.➁ 링크드리스트 : 다음 데이터의 위치에 대한 포인터를 가지고 있는 구조입니다. 배열은 데이터를 인덱스로 조회할 수 있기 때문에 인덱스 조회 성능이 높고,데이터가 메모리에 순서대로 저장되어 있기 때문에, 캐시의 지역성으로 인하여 비교적 빠르게 탐색을 수행할 수 있습니다. (캐시의 지역성 : 캐시 메모리에서 데이터를 효율적으로 사용하는 메커니즘) 링크드리스트는 중간에 데이터를 삽입하거나 삭제하는 것이 용이하다는 장점이 있습니다. • Array vs ArrayList vs LinkedList? ➀ Array는 인덱스로 빠르게 값을 찾는 것이 가능합니다. ➁ LinkedL..
-
[CS/Network] HTTP의 GET과 POST 비교CS/네트워크 2024. 10. 29. 21:55
• GET과 POST?둘 다 HTTP 프로토콜을 이용해서 서버에 무엇인가를 요청할 때 사용하는 방식 • GET과 POST의 비교? ➀ GET 방식요청하는 데이터가 HTTP Request Message의 Header 부분에 url이 담겨서 전송됩니다. 때문에 url 상에 ? 뒤에 데이터가 붙어 request를 보내게 됩니다. url이라는 공간에 담겨가기 때문에 전송할 수 있는 데이터의 크기가 제한적이고, 보안이 필요한 데이터에 대해서는 데이터가 그대로 url에 노출되므로 GET 방식은 적절하지 않습니다. http://example.com/users?id=123 ➁ POST 방식요청하는 데이터가 HTTP Request Message의 Body 부분에 담겨서 전송됩니다.때문에 바이너리 데이터를 요청하는..
-
[CS/JAVA] Java의 특징 / JVM의 역할 / JVM의 클래스CS/Java 2024. 10. 29. 21:55
• Java의 특징을 설명해주세요. - 자바는 객체 지향 프로그래밍 언어입니다.- 기본 자료형을 제외한 모든 요소들이 객체로 표현되고, 객체 지향 개념의 특징인 캡슐화 / 상속 / 다형성이 잘 적용된 언어입니다. - 장점 ⸰ JVM(자바 가상 머신) 위에서 동작하기 때문에 운영체제에 독립적입니다. ⸰ 가비지컬렉터를 통한 자동적인 메모리 관리가 가능합니다. - 단점 ⸰ JVM 위에서 동작하기 때문에 실행 속도가 상대적으로 느립니다. ⸰ 다중 상속이나 타입에 엄격하며 제약이 많습니다. • JVM의 역할에 대해 설명해주세요. JVM은 스택 기반으로 동작하며, 자바 바이트 코드를 운영체제에 맞게 해석해주는 역할을 하고, 가비지 컬렉터를 통해 자동적인 메모리 관리를 해줍니다. • J..
-
[프로그래머스/JAVA] 숫자 문자열과 영단어 (2021 카카오 채용연계형 인턴십 문제)Algorithm/Java 2024. 10. 29. 21:55
https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 📌 문제 요약 문자열 s에서 숫자가 포함된 부분은 그대로 두고, 영단어로 표현된 숫자를 실제 숫자로 변환해야 한다.예: "one4seveneight" → 1478, "23four5six7" → 234567 [ 오답 노트 ]❌ 기존 오답 코드해시맵을 사용해 접근하려 했지만 틀렸다 ㅜimport java.util.*;class Solution { public int solution(String s) { String answer ..