1) 문제https://www.acmicpc.net/problem/25497임스는 연계 기술을 사용하는 게임을 플레이 중에 있다. 연계 기술은 사전 기술과 본 기술의 두 개의 개별 기술을 순서대로 사용해야만 정상적으로 사용 가능한 기술을 말한다.하나의 사전 기술은 하나의 본 기술과만 연계해서 사용할 수 있으며, 연계할 사전 기술 없이 본 기술을 사용했을 경우에는 게임의 스크립트가 꼬여서 이후 사용하는 기술들이 정상적으로 발동되지 않는다. 그렇지만 반드시 사전 기술을 사용한 직후에 본 기술을 사용할 필요는 없으며, 중간에 다른 기술을 사용하여도 연계는 정상적으로 이루어진다.임스가 사용할 수 있는 기술에는 1$1$~9$9$, L$L$, R$R$, S$S$, K$K$가 있다. 1$1$~9$9$는 연계 없이 사..
오블완
1) 문제https://www.acmicpc.net/problem/2161N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다.이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그 다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다.예를 들어 N=4인 경우를 생각해 보자. 카드는 제일 위에서부터 1234 의 순서로 놓여있다. 1을 버리면 234가 남는다. 여기서 2를 제일 아래로 옮기면 342가 된다. 3을 버리면 42가 되고, 4를 밑으로 옮기면 24가 된다. 마지막으로 2를 버리고 나면, 버린 카드들은 순서대로 ..
https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1) 내가 구현한 코드import java.util.*;public class Solution { public int[] solution(int []arr) { ArrayList arrList = new ArrayList(); arrList.add(arr[0]); for(int i=0; i 2) 추가 문제미들러 - 카드문자열https://www.acmicpc.net/pro..
1) 문제https://www.acmicpc.net/problem/10845 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.명령은 총 여섯 가지이다.push X: 정수 X를 큐에 넣는 연산이다.pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.size: 큐에 들어있는 정수의 개수를 출력한다.empty: 큐가 비어있으면 1, 아니면 0을 출력한다.front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.입력첫째 줄에 주어지는 명령의 ..
https://www.acmicpc.net/problem/12605 1) 문제 스페이스로 띄어쓰기 된 단어들의 리스트가 주어질때, 단어들을 반대 순서로 뒤집어라. 각 라인은 w개의 영단어로 이루어져 있으며, 총 L개의 알파벳을 가진다. 각 행은 알파벳과 스페이스로만 이루어져 있다. 단어 사이에는 하나의 스페이스만 들어간다.입력첫 행은 N이며, 전체 케이스의 개수이다.N개의 케이스들이 이어지는데, 각 케이스는 스페이스로 띄어진 단어들이다. 스페이스는 라인의 처음과 끝에는 나타나지 않는다. N과 L은 다음 범위를 가진다.N = 51 ≤ L ≤ 25출력각 케이스에 대해서, 케이스 번호가 x일때 "Case #x: " 를 출력한 후 그 후에 이어서 단어들을 반대 순서로 출력한다.예제 입력 1 3this is a..
https://aliencoder.tistory.com/m/148 스택 자료구조를 이해하고 푸는 문제이다.스택 자료구조를 직접 구현해서 그에 맞는 메소드를 호출해 사용하라고 이해하였다.그리하여 챗gpt의 도움을 좀 받아 아래와 같이 스택을 구현하고, 입력받은 숫자 및 메소드 대로 출력하는 로직을 구현했다.내가 만든 MadeStack 클래스는 static으로 만들었다.Stack 클래스를 호출해 만들어도 되었을 텐데.. 추가구현코드에서 확인하자1) 내가 구현한 코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedRea..
https://www.acmicpc.net/problem/7785 ** 2주차 특강 강의자료 (feat. 해시) **해시 자료구조에 대해 더 자세히 알 수 있었다!https://dong-chan.com/codingtest-hash/#3-division-method JAVA Coding Test HashHash 데이터를 효율적으로 저장하고 검색하기 위해 사용되는 알고리즘. Java에서 해시는 , , 과 같은 자료구조에서 많이 활용함. 해시 알고리즘을 사용하려면 먼저 데이터의 해시 값을 계산해야 하dong-chan.com 1) 내가 구현한 코드import java.util.*;import java.io.*;public class p7785_회사에있는사람 { public static void main..
https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr1) 내가 구현한 코드처음에는 제시된 데이터가 둘 다 배열이니 배열끼리 비교하면 되겠다 생각했다.그러나 효율적이지 못할거라는 생각과, 동명이인은 어떻게 처리해야할지 모르겠다는 생각이 들었다.최종 내린 결론은 해시맵에 선수들의 이름을 키로 담고, 밸류에는 참가자들이면 카운드 1 더해주고, 또 완주했을경우 카운드 1을 더해주기로 한다. 이렇게 될 경우최종 완주한 선수들은 짝수 : 2, 4, 6, ... (2 이상은 동명이인)완주하지 못한 선수들은 홀..