2024/04 10

파이썬 시작, 기초

자바와 파이썬의 차이자바(Java)와 파이썬(Python)은 모두 인기 있는 프로그래밍 언어이지만, 목적과 특성, 사용 방법에서 다양한 차이를 보입니다. 여기 각 언어의 주요 차이점을 쉽게 설명드리겠습니다.문법의 간결성:파이썬은 매우 간결하고 읽기 쉬운 문법을 가지고 있습니다. 파이썬은 프로그래밍을 처음 배우는 사람들에게 인기가 많은 이유 중 하나입니다.자바는 보다 엄격한 문법을 가지고 있으며, 세미콜론(;)과 중괄호({})를 사용하여 코드 블록을 정의합니다.실행 속도:자바는 대부분의 경우 파이썬보다 실행 속도가 빠릅니다. 자바는 기계어로 번역되는 중간 단계인 바이트코드로 컴파일되고, JVM(Java Virtual Machine)에서 실행되기 때문입니다.파이썬은 인터프리터 언어로, 코드가 실행 시점에 한..

IT 회사 면접 후기

얼마 전에 한 IT(헬스 케어 & 플랫폼) 회사 면접에서 물어보았던 질문을 몇개 답변 못했던 것이 생각나서 알아보았다. 특히 JPA의 @GeneratedValue 애노테이션 질문에 답변 못드렸던이 아쉽다. 알아보자 마다 아 이거였지 생각이 났다.... 얼마 전에 정리 했던 것이라 더 아쉬움과 후회가 남는다. 그렇다고 다 외울 수도 없는 노릇.... 하지만 외우고 복습 겸 한번 만 더 적어보고 가야겠다. JPA의 @GeneratedValue 애노테이션 AUTO: (기본값) 특정 데이터베이스에 따라 자동으로 결정되는 전략을 사용합니다. 데이터베이스가 시퀀스, 테이블, 자동 증가(AUTO_INCREMENT)를 지원하는지에 따라 적절한 전략을 선택합니다. SEQUENCE: 데이터베이스의 시퀀스를 사용하여 식별자..

오랜만에 F-LAB 스크립트들을 복습

4개 정도 분량의 스크립트를 들었는데 와 예전의 나랑 지금의 나랑 좀 많이 다른 것 같아서 많은 생각과 감정이 들었다. 멘토님도 보고 싶고 암튼 기술적으로도 내가 많이 배웠는데도 아직도 많이 배울 것이 남았구나 싶었다. 컨커런트 해시맵은 어떻게 동시성을 제어할 수 잇게 되었어? 컨커런트 해시맵(ConcurrentHashMap)은 자바의 `java.util.concurrent` 패키지에 포함된 자료구조로, 멀티스레드 환경에서의 동시성을 효율적으로 다루기 위해 설계되었습니다. 이 해시맵은 여러 스레드가 동시에 읽고 쓰기 작업을 할 수 있도록 동시성 제어를 구현하고 있어, 고성능을 유지하면서도 데이터의 일관성을 보장합니다. ### 동시성 제어 방법 #### 1. 세그먼트(segment)와 버킷(bucket) ..

[프로그래머스] 약수의 합 - java

문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 문제 이해 및 전략 수립 1부터 for문 돌면서 그 수로 받은 수를 나눠서 약수를 찾은 다음 어레이 리스트에 담아 두고 나중에 다시 for문 돌리고 합을 구해서 return 한다. 이렇게 생각했었는데 굳이 이렇게는 안해도 될 듯 하고 answer 에다가 바로 i를 더하면 될 듯 하다. class Solution { public int solution(int n) { int answer = 0; for(int i = 1 ; i

[코딩테스트] 2024.04.06

필드 접근, 프로퍼티 접근

JPA에서 @Access 이야기를 할 때 필드 접근와 프로퍼티 접근 이야기를 할 때 필드와 프로퍼티가 뭐야? JPA에서 @Access 어노테이션을 이야기할 때, "필드 접근(Field Access)"과 "프로퍼티 접근(Property Access)"에 대해 언급하는 것은 엔티티의 상태에 접근하는 두 가지 방법을 설명합니다. 이 개념을 이해하기 위해서는 먼저 "필드(Fields)"와 "프로퍼티(Properties)"의 차이를 알아야 합니다. 필드(Fields) 필드는 클래스에 선언된 변수를 의미합니다. 이 변수들은 클래스의 상태를 저장하는데 사용됩니다. 예를 들어, Person 클래스에는 **name**과 **age**라는 필드가 있을 수 있습니다. JPA에서 필드 접근 방식을 사용할 때, JPA 프로바이..

[JPA] 2024.04.06

[프로그래머스] 옹알이(1) -자바

문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 문제 이해 및 해결 전략 수립 "aya", "ye", "woo", "ma" 을 사용하거나 사용하지 않거나 해서 조합해서 단어를 만든다. 옹알이(2)를 먼저 풀어서 그런가 엄청 비슷한 문제 같다. for 문 돌면서 미리 저장 해 둔 배열을 이용해 replace로 바꾸고 최대 한번씩만 쓰는 조건으로 count를 올리고 발음할 수 있는 단어 개수를 ret..

[코딩테스트] 2024.04.06

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

문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 제한사항 배열 arr의 크기 : 1,000,000 이하의 자연수 배열 arr의 원소의 크기 : 0보다 크거나 ..

[코딩테스트] 2024.04.06

[프로그래머스] 합성수 찾기 - 자바

문제 설명 약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요. 잠깐 생각해보고 약수 3개 이상이면 카운트 해서 출력하면 되는 건 알겠지만 약수 3개 이상을 어떻게 구하나 싶어서 생각을 더해야 되는 건 맞지만 쉬운 문제이고 아직 어느 정도 경험치가 안쌓여서 다시 쌓아야 해서 검색해 보았다. for 문으로 1~이상에서 나누어서 몫이 있으면 count를 1 증가 시키면 될 것 같았다. class Solution { public int solution(int n) { int answer = 0; for(int i = 1 ; i

[코딩테스트] 2024.04.05

[프로그래머스] 옹알이(2) - Java

문제 설명 머쓱이는 태어난 지 11개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음과 네 가지 발음을 조합해서 만들 수 있는 발음밖에 하지 못하고 연속해서 같은 발음을 하는 것을 어려워합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 1. 네가지 발음 가능 2. 네 가지 발음 조합 가능 3. 연속해서 같은 발음 X 예시 babbling 에서 1. 기본적으로 네가지 발음 찾기 2. 네가지 발음 조합된 것 찾기 3. 연속된 발음 제거 하기 구글링으로 몇개 사이트를 검색해 본 결과 해시맵이나 어레이리스트 등을 이용해서 중복되는 글을 치환하고 ..

[코딩테스트] 2024.04.04

[프로그래머스] 외계어 사전 - Java

문제 설명 PROGRAMMERS-962 행성에 불시착한 우주비행사 머쓱이는 외계행성의 언어를 공부하려고 합니다. 알파벳이 담긴 배열 spell과 외계어 사전 dic이 매개변수로 주어집니다. spell에 담긴 알파벳을 한번씩만 모두 사용한 단어가 dic에 존재한다면 1, 존재하지 않는다면 2를 return하도록 solution 함수를 완성해주세요. 풀이 해석 및 해결 방법 수립 1. spell 의 단어들을 이중 for문으로 하나씩 contains 하고 있는지 확인하고 다 돌면 완료 2. 풀다가 contains 부분에서 에러가 났다. 배열엔 그런 메소드가 없다고 해서 어레이 리스트로 바꿀까 하다가 그걸로 안하고도 저번에 비슷한 문제를 풀 수 있었던 것이 생각이 나서 좀더 검색해보고 String에 내가 진짜 ..

[코딩테스트] 2024.04.04