분류 전체보기 149

백준 1157 번 (단어공부) - 자바(JAVA)

문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는?를 출력한다. package codingTest.bronze; import java.util.*; import java.util.stream.Collectors; public class Bj1157 { public static void main(String[] args) { Scanner sc..

Algorithm 2023.06.15

백준 9095 문제 (순열을 이용한 풀이 및 dp 풀이) - 자바(JAVA)

https://www.acmicpc.net/problem/9095 6개 211111 2311 2 두 개 -> 22111 5! / (2!*3!) 2 3개 -> 2221 4!/3! 4 3 하나 -> 31111 5! / 4! 3 두개 -> 331 3! / 2! 2 하나 + 3 하나 -> 2311 4!/2! -> 12 2 두개 + 3 하나 -> 223 3 이런 식으로 경우의 수를 나눠 순열조합으로 풀 수 있을 거라 생각을 해서 아래와 같이 문제를 풀었다. 순열을 이용한 풀이 import java.util.*; public cl..

Algorithm 2023.06.14

선택 정렬(Selection Sort) - 자바(JAVA)

Selection Sort 선택 정렬(Selection Sort)은 가장 간단한 정렬 알고리즘 중 하나입니다. 이 알고리즘은 주어진 리스트에서 가장 작은 값을 선택하여 맨 앞으로 이동시키는 과정을 반복하여 리스트를 정렬하는 방식입니다. 동작 과정 주어진 리스트에서 가장 작은 값을 찾습니다. 가장 작은 값과 리스트의 맨 앞의 원소를 교환합니다 정렬된 영역을 제외하고 나머지 리스트에서 가장 작은 값을 찾습니다. 다시 가장 작은 값과 정렬되지 않은 부분의 맨 앞 원소를 교환합니다. 이러한 과정을 리스트의 모든 원소가 정렬될 때까지 반복합니다. 예시 코드 public class SelectionSort { /** * i 와 j의 위치에 있는 값을 바꿉니다. (가장 작은 값인 array[j]와 array[i]의 ..

Algorithm 2023.06.13

우선순위 큐(Priority Queue) - 자바(JAVA)

우선순위 큐(Priority Queue)는 개발자가 자주 활용하는 자료구조 중 하나입니다. 이번에는 우선순위 큐에 대해 자세히 알아보고, 실제로 어떻게 사용되는지 예시 코드를 통해 살펴보겠습니다. 우선순위 큐는 요소들을 우선순위에 따라 정렬하여 저장하는 자료구조입니다. 일반적인 큐와 달리 요소들이 저장될 때 우선순위에 따라 정렬되므로, 가장 우선순위가 높은 요소에 먼저 접근할 수 있습니다. 우선순위는 개발자가 지정한 기준에 따라 결정됩니다. 예를 들어, 다익스트라 알고리즘에서 최단 경로를 찾는 과정에서 우선순위 큐를 사용할 수 있습니다. 출발지에서 각 노드까지의 최단 거리를 계산할 때, 우선순위 큐를 활용하여 현재까지의 최단 거리를 기준으로 노드를 선택하고 처리할 수 있습니다. 아래는 우선순위 큐를 활용..

Algorithm 2023.06.13

DP(Dynamic Programming) - 자바(JAVA)

DP는 다양한 문제에서 사용되는 효율적인 알고리즘 기법 중 하나이다. 코딩테스트 문제를 풀다가 최단 경로 문제에 DP의 필요성을 알게 돼서 DP에 대해 정리해 본다. 최단 경로 문제는 출발지에서 도착지까지 가는 경로 중 가장 짧은 경로를 찾는 문제로, 다익스트라 알고리즘과 벨만-포드 알고리즘이 대표적인 예시이다. DP 배열은 중복 계산을 피하기 위해 사용되며, 최단 경로 문제에서는 각 노드까지의 최단 거리를 저장하는 역할을 하고, 각 노드까지의 최단 거리를 DP 배열에 저장하면 다음 계산에서 이전 계산 결과를 활용하여 중복 계산을 피할 수 있다. 아래는 최단 경로 문제를 DP 배열로 해결하는 다익스트라 알고리즘을 사용하여 출발지에서 각 노드까지의 최단 거리를 구하는 예시 코드이다. import java...

Algorithm 2023.06.13

AWS EC2 인스턴스에서 환경변수 설정하는 방법

AWS EC2 인스턴스에서 .yaml 파일에서 불러오는 값 중 노출되면 안 되는 값들은 환경변수로 설정하는 것이 좋습니다. spring: datasource: url: jdbc:mysql://cordjg-database.c8izlkxyxcni.ap-northeast-2.rds.amazonaws.com:13306/uncover?serverTimezone=Asia/Seoul&useSSL=false&characterEncoding=UTF-8 username: admin password: ${MYSQL_SECRET} driver-class-name: com.mysql.cj.jdbc.Driver jpa: hibernate: ddl-auto: update properties: hibernate: dialect: o..

Spring 2023.05.13

Git flow 사용법

1. Upstream git repository에 branch 만들기 branch는 View all branches에 들어가서 만들 수 있다. 2. Fork 하기 기본적으로 Copy the main branch only 가 체크되어 있는데 체크를 풀어 모든 branch를 포크 해와야 한다. 3. 포크한 레퍼지 터리를 clone 하여 사용 4. Upstream git repository에서 Issue 등록 (# 번호 기억) 5. Git flow init git 터미널에서 git flow init 을 하면 여러 개의 질문들과 선택을 해야 한다. 1. production releases : -> 기본으로 master라고 되어 있는데 main으로 변경 후 엔터 2."next release" development..

코드스테이츠 SEB43 PreProject 회고 (4/11 ~ 4/27)

팀 GitHub : https://github.com/codestates-seb/seb43_pre_034 GitHub - codestates-seb/seb43_pre_034: Stackoverflow Clone Project 🍊 Stackoverflow Clone Project 🍊. Contribute to codestates-seb/seb43_pre_034 development by creating an account on GitHub. github.com 기간 : 4/11 ~ 4/27 목표 : stackOverFlow 클론코딩 회의시간 : 아침 10시(프런트엔드 + 백엔드) 프로젝트 일정 계획 분석단계 - 사용자 요구사항 정의서(4/14) 설계단계 - 화면정의서, 테이블명세서, API 명세서(4/15..