본문 바로가기

Algorithm94

[알고리즘 문제풀이] 백준 10845 큐 (JAVA코드) https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net /** * 1. 디큐 구현풀이 * * 2. n개의 명령의 수에 따라 수행 * * 3. 출력 명령문 마다 출력 * */ import java.io.*; import java.util.*; public class Test { public static void main(String[] args) throws IOException{ BufferedReader br = new Buffere.. 2022. 2. 27.
[알고리즘 문제풀이] 백준 9012 괄호 (JAVA코드) https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net /** * 1. 올바른 괄호열 찾기 * * 2. stack을 통한 구현 * * 3. t개의 테스트 데이터를 올바른 괄호열인지 "YES", "NO" 반환 * */ import java.io.*; import java.util.Stack; import java.util.StringTokenizer; public class Test { public static void m.. 2022. 2. 27.
[알고리즘 문제풀이] 백준 10828 스택 (JAVA코드) https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net /** * 1. n개의 명령의 수가 들어오고, * * 2. stack을 구현하여 명령을 처리 * * 3. pop이나 size나 empty, top은 해당하는 숫자를 출력 * */ import java.io.*; import java.util.Stack; import java.util.StringTokenizer; public class Test { public static voi.. 2022. 2. 27.
[알고리즘 문제풀이] 프로그래머스 - 짝지어 제거하기 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr /** 1. 스택을 이용한 풀이 2. 문자열을 탐색하면서 해당 문자와 스택에 담긴 문자가 같을때, 스택에서 pop 아니면 스택에 push 3. 최종 스택에 담긴 문자열이 있으면 0반환 없으면 1반환 **/ import java.util.*; class Solution { public int solution(String s) { Stack stack .. 2022. 2. 26.
[알고리즘 문제풀이] 프로그래머스 - JadenCase 문자열 만들기 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/12951 코딩테스트 연습 - JadenCase 문자열 만들기 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 programmers.co.kr /** 1. 첫번째 문자만 대문자 변경 2. 나머진 소문자 **/ import java.util.*; class Solution { public String solution(String s) { StringBuilder sb = new StringBuilder(); for(int i = 0; i < s... 2022. 2. 25.
[알고리즘 문제풀이] 프로그래머스 - 피로도 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/87946 코딩테스트 연습 - 피로도 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던 programmers.co.kr /** 1. 백트래킹 풀이 2. dfs로 던전 순서 정하기 (현재 피로도로 돌 수 있는 던전만 경우의 수 계산) 3. dfs를 돌때마다 최대값 계산 **/ import java.util.*; class Solution { public int answer = 0; public boolean[] visited; public int solution(int k,.. 2022. 2. 24.
[알고리즘 문제풀이] 프로그래머스 - 단체사진 찍기 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/1835 코딩테스트 연습 - 단체사진 찍기 단체사진 찍기 가을을 맞아 카카오프렌즈는 단체로 소풍을 떠났다. 즐거운 시간을 보내고 마지막에 단체사진을 찍기 위해 카메라 앞에 일렬로 나란히 섰다. 그런데 각자가 원하는 배치가 모두 programmers.co.kr /** 1. 전체 경우의 수를 파악(8명이 있으므로, 8!) 2. 경우의 수마다 조건에 맞는 안맞는지 확인 3. 조건에 맞는 개수 반환 **/ class Solution { public int answer = 0; public boolean[] visited = new boolean[8]; public int solution(int n, String[] dat.. 2022. 2. 24.
[알고리즘 문제풀이] 프로그래머스 - 신규 아이디 추천 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr /** 1. toLowerCase()로 소문자 치환 2. replaceAll(정규식,"") 으로 제거 3. replaceAll([.]{2,},".") 으로 2번이상 .을 제거 4. 시작부분이나 끝부분 . 제거 5. id가 비어 있으면, "a"로 변경 6. id 길이 16이상이면 15까지 substring으로 제거 6-1) 제거 후 끝부분 .이면 제거 7... 2022. 2. 23.