[프로그래머스] 짝지어 제거하기 - 12973 (Java)
·
알고리즘/Java
문제 URLhttps://school.programmers.co.kr/learn/courses/30/lessons/12973나의 코드import java.util.*;class Solution { public int solution(String s) { int answer = 0; Stack stack = new Stack(); // 문자열의 각 문자를 순회 for (char chr : s.toCharArray()) { // 스택이 비어있으면 현재 문자를 추가 if (stack.isEmpty()) { stack.push(chr); } else { ..
[프로그래머스] 실패율 - 42889 (Java)
·
알고리즘/Java
[level 1] 실패율 - 42889문제 링크성능 요약메모리: 87.1 MB, 시간: 11.26 ms구분코딩테스트 연습 > 2019 KAKAO BLIND RECRUITMENT채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 10월 28일 23:42:28문제 설명실패율슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다.이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했다. 역시 슈퍼 개발자라 대부분의 로직은 쉽게 구현했지만, 실패율을 구하는 부분에서 위기에 빠지고 말았다. 오렐리..
[Java] List<Map<String, String>> 형식을 String[] 형식으로 변경하는 방법
·
Back end/Java
Java에서 List> 형식을 String[] 형식으로 변경하는 방법에는 Stream API를 사용하는 방법과 전통적인 for 루프를 사용하는 방법이 있습니다.Stream API를 사용하는 방법Stream API는 Java 8부터 도입된 기능으로, 컬렉션을 처리하는 데 있어 간결하고 선언적인 코딩 스타일을 제공합니다.@Controllerpublic class SampleController{ @Autowired private SampleService sampleService ; public void printHeaderTextArray() { // 서비스에서 데이터 가져오기 List> headerList = sampleService.getHeaderL..
[JavaScript] location.replace와 location.href의 차이점
·
Front end/JavaScript
JavaScript를 사용하여 웹 페이지를 다른 URL로 이동시키는 방법에는 여러 가지가 있습니다. 그중에서 location.replace와 location.href는 가장 자주 사용되는 두 가지 방법입니다. 이 글에서는 location.replace와 location.href의 정의와 차이점을 살펴보고, 각각의 활용 예시에 대해 설명하겠습니다.1. location.href란?location.href는 JavaScript에서 현재 페이지의 URL을 변경하여 사용자를 다른 페이지로 이동시키는 속성입니다. 이는 브라우저의 주소창에 새로운 URL을 설정하는 것과 동일합니다.특징:브라우저 기록에 저장됨: 사용자가 뒤로 가기 버튼을 클릭하면 이전 페이지로 돌아갈 수 있습니다.페이지 리디렉션: 페이지가 새로운 UR..
[Tool] 코드 비교의 간편함을 제공하는 Diffchecker
·
개발도구/기타 Tool
개발자라면 누구나 코드 비교 작업의 중요성을 알고 있습니다. 코드 리뷰 과정에서 변경된 내용을 파악하거나, 버그 수정 후의 코드를 이전 버전과 비교하는 일은 매우 빈번하게 발생합니다. 이러한 작업을 더 효율적으로 도와주는 툴 중 하나가 바로 Diffchecker입니다. 그럼 Diffchecker의 주요 기능과 사용법에 대해 알아보겠습니다.Diffchecker 소개Diffchecker는 코드 및 텍스트 비교를 위한 온라인 도구로, 간단하고 직관적인 인터페이스를 통해 두 개의 파일이나 텍스트 블록을 비교할 수 있게 해줍니다. 이 도구는 웹 기반으로 작동하며, 다양한 파일 형식을 지원하여 소스코드, 문서, 이미지 등 여러 가지 콘텐츠를 비교할 수 있습니다.주요 기능Diffchecker는 두 개의 텍스트 블록을..
[API] API와 RestAPI
·
Back end/API
API식당을 예로 손님은 Client, 점원은 API, 주방장은 Server로 생각할 수 있습니다. 손님이 점원에게 음식을 주문하고, 점원이 그 주문을 주방장에게 전달하며, 주방장이 음식을 준비한 다음, 점원이 그 음식을 다시 손님에게 전달하는 과정을 보여줍니다.손님 (Client): 서비스를 이용하려는 사용자점원 (API): 사용자의 요청을 받아서 내부 시스템(서버)으로 전달하고, 그 결과를 사용자에게 반환하는 역할주방장 (Server): 요청을 처리하고 결과를 반환하는 내부 시스템+------------------+ +------------------+ +------------------+| 손님 | ---주문서---> ..
[GIT] YOLO Achievements 획득 방법 (깃허브 뱃지)
·
개발도구/Git
YOLO Achievements란?YOLO Achievements는 GitHub 사용자가 한 달 내에 성공적으로 풀 리퀘스트(Pull Request)를 완료할 때 부여되는 특별한 뱃지입니다. 'YOLO'는 'You Only Live Once'의 약자로, 도전적이고 새로운 일을 시도하는 개발자의 노력을 기리기 위해 만들어졌습니다. 이 Achievements는 깃허브 활동을 독려하고, 커뮤니티에 기여하는 사용자를 인정하기 위한 것입니다.YOLO Achievements 획득 방법 우선 새로운 레퍼지토리를 생성하거나 기존 레퍼지토리를 선택합니다. 1. Collaborators 등록Settings > Collaborators"Add People" 버튼을 클릭하여 친구 또는 부계정을 등록합니다.2. 새 브랜치 생성..
[ORM & JPA] 객체와 데이터베이스를 연결하는 새로운 길, ORM과 JPA
·
Database/ORM & JPA
ORM(Object-Relational Mapping)은 자바의 객체와 데이터베이스를 연결하는 혁신적인 프로그래밍 기법입니다.이 기법을 통해 SQL을 몰라도 데이터베이스 값을 객체처럼 다룰 수 있어 자바로 간편하게 데이터를 추출할 수 있습니다.ORM의 장점SQL 미사용: SQL을 직접 작성하지 않고도 데이터베이스에 접근할 수 있습니다.객체지향적 코드 작성: 객체지향적으로 코드를 작성하여 비즈니스 로직에 집중할 수 있습니다.데이터베이스 시스템 추상화: 데이터베이스 시스템이 추상화되어 있어 MySQL에서 PostgreSQL로의 전환 시 추가 작업이 거의 없습니다. 따라서 데이터베이스 시스템에 대한 종속성이 줄어듭니다.명확한 매핑 정보: 매핑 정보가 명확하여 ERD에 대한 의존도를 낮출 수 있고 유지보수에 용..