전체 글 210

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

문제 설명 약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 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

@GeneratedValue (테이블 전략, AUTO 전략)

테이블 전략 테이블 전략은 어떤거야? 테이블 전략(Table Strategy)은 JPA(Java Persistence API)에서 엔티티의 기본 키(primary key)를 생성하기 위해 사용되는 전략 중 하나입니다. 이 전략은 특별한 데이터베이스 시퀀스나 자동 증가(auto-increment) 기능을 사용하지 않고, 대신에 하나 또는 여러 개의 데이터베이스 테이블을 사용하여 엔티티의 기본 키 값을 관리합니다. 이 방법은 모든 종류의 데이터베이스에서 사용할 수 있는 장점이 있으며, 특히 시퀀스나 자동 증가 기능을 지원하지 않는 데이터베이스에서 유용합니다. 테이블 전략의 작동 방식 키 생성 테이블: JPA는 기본 키 값을 생성하고 저장하기 위한 별도의 테이블을 사용합니다. 이 테이블에는 각 엔티티 타입 또..

[JPA] 2024.03.29

@Id, @SequenceGenerator

@SequenceGenerator가 어떤 거야?? 목적은 무엇이고? @SequenceGenerator는 자바(JAVA)의 하이버네이트(Hibernate) ORM(Object-Relational Mapping) 프레임워크에서 사용되는 어노테이션(annotation)입니다. 객체 지향 프로그래밍 언어를 사용하여 작성된 프로그램이 데이터베이스와 효율적으로 상호 작용할 수 있도록 도와주는 도구 중 하나죠. @SequenceGenerator의 주된 목적은 데이터베이스 내에서 순차적인 값(시퀀스)을 생성하여, 엔티티(entity)의 기본 키(primary key) 값으로 사용하기 위한 것입니다. 기본 키는 데이터베이스 테이블의 각 레코드를 유일하게 식별하는 데 사용되는 필드(field)나 속성(attribute)을..

[JPA] 2024.03.28

PHP 입문과 궁금했던 점

PHP php와 javascript는 언제 나온 기술이야? PHP와 JavaScript는 웹 개발에서 널리 사용되는 두 가지 프로그래밍 언어입니다. 각각의 언어는 웹사이트와 웹 애플리케이션을 만드는 데 중요한 역할을 하며, 다음과 같은 시기에 등장했습니다. PHP PHP(원래의 의미는 Personal Home Page, 현재는 PHP: Hypertext Preprocessor의 재귀 약자)는 1995년에 Rasmus Lerdorf에 의해 처음 만들어졌습니다. PHP는 서버 측에서 실행되는 스크립트 언어로, 동적 웹 페이지를 생성하거나 데이터베이스와 상호 작용하는 등의 작업을 주로 수행합니다. PHP는 그 유연성과 데이터베이스와의 연결 용이성으로 인해 널리 사용되며, 웹 개발에서 중요한 역할을 합니다. J..

Clasic ASP

CLASIC ASP 코드 예시 보여줘 그리고 자바와의 차이점 알려줘 Classic ASP 코드 예시 Classic ASP (Active Server Pages)는 서버 측 스크립트 환경으로, 주로 VBScript 또는 JavaScript를 사용하여 웹 서버에서 동적 웹 페이지를 생성합니다. 여기에는 간단한 Classic ASP 코드 예시가 있습니다. 이 예시에서는 VBScript를 사용하여 사용자에게 "Hello, World!" 메시지를 표시하는 웹 페이지를 생성합니다. Classic ASP와 자바의 차이점 Classic ASP와 자바(특히 웹 개발 맥락에서의 Java EE 또는 Spring Framework 같은) 사이에는 몇 가지 주요 차이점이 있습니다: 프로그래밍 언어: Classic ASP: 주로..

JS, JSX 차이와 같은 점 (React)

JS, JSX 차이와 같은 점 (React) js파일과 jsx파일의 차이를 알려줘 react와 관련해서 JavaScript(.js) 파일과 JSX(.jsx) 파일 사이의 차이는 주로 React와 같은 라이브러리나 프레임워크에서 사용되는 JSX 구문의 지원 여부에 있습니다. React를 사용할 때 이 두 확장자가 어떻게 다르게 취급되는지 살펴보겠습니다. .js 파일 .js 확장자는 일반적인 JavaScript 파일을 나타냅니다. React 프로젝트에서도 사용할 수 있지만, 이 파일 내에서 JSX 구문을 직접 사용하려면 개발 환경(예: Babel)이 JSX를 지원해야 합니다. 초기 React 프로젝트나 일부 환경에서는 .js 파일 내에서도 JSX를 사용합니다. 하지만 이는 설정에 따라 다르며, 명확한 구분을..

TypeScript 궁금한 점(기초)

TypeScript 궁금한 점(기초) 타입스크립트의 목적과 주 기능 등을 알려줘 TypeScript는 Microsoft에 의해 개발된 자바스크립트의 상위 집합 언어입니다. 자바스크립트 코드에 타입을 추가하여 개발하는 과정에서 발생할 수 있는 오류를 사전에 발견하고, 대규모 애플리케이션의 개발 및 유지보수를 용이하게 만들어 주는 것이 주요 목적입니다. TypeScript는 개발자가 코드에 대한 더 명확한 의도를 표현할 수 있게 하여, 개발 팀 내에서 또는 개인 프로젝트에서도 생산성과 코드의 품질을 향상시키는 데 기여합니다. TypeScript의 주요 목적 타입 안정성 제공: 컴파일 시간에 타입을 체크하여 실행 시 발생할 수 있는 일부 오류를 사전에 방지합니다. 개발자 생산성 향상: 코드 자동완성, 인터페이..

MSA 인텔리제이로 프론트엔드, 백엔드 동시에 로컬에서 각각의 인텔리제이 인스턴스로 작업시 브랜치 공유되어 작업하기 곤란한 사항_2 (해결)

요 몇일간 이것 worktree를 적용해서 문제 해결을 위해서 시도를 해보았는데 분명 내가 원하는 MSA의 한 부분 프로젝트(백단, 프론트단)을 각각 읽으면 해당 브랜치로 바뀌게 되었으나 먼가 다른 문제가 생겼다. 맥의 finder에는 폴더가 있는데(src, …) 인텔리제이에서는 프로젝트로 열리지가 않았다. 여기서 또 막 헤메다가 git 초기 설정 파일이 삭제되었고 git저장소를 다시 설정하는 부분에서 잘못되어서 그냥 다시 처음부터 다시 시작하자는 마음으로 git저장소를 다시 클론해서 MSA프로젝트들을 다운 받았다. 여기서 내가 기존에 처음 git에 올린 파일 경로와 git clone 했을 때 생성되는 파일 경로가 달랐다. 내가 잘못 이해하고 있었던 부분이 있었나보다 이게 왠걸 이제 java단과 fron..