반응형

Coding Test Study 28

[Coding/Programmers] 배열 회전시키기

1. 문제 2. 코드 구현 부분 direction 이 "left" 이면 numbers 배열의 제일 첫 데이터를 tmp 변수에 임시로 저장한다. 그 후 numbers 배열의 인덱스 1에 있는 데이터부터 answer 배열의 0번째 인덱스에 저장한다. 이후 tmp에 저장한 데이터를 answer 배열 가장 마지막에 저장한다. direction 이 "right"라면 numbers배열의 가장 마지막 데이터를 tmp 변수에 임시로 저장한다. numbers 배열의 인덱스 0에 있는 데이터부터 answer 배열의 1번째 인덱스에 저장한다. 이후 tmp 변수에 저장한 데이터를 answer 배열의 가장 처음에 저장한다. class Solution { public int[] solution(int[] numbers, Stri..

[Coding/Programmers] 한 번만 등장한 문자

1. 문제 2. 코드 구현 부분 정수형 배열을 알파벳의 갯수만큼 생성하였다. 문자열 s의 한 글자씩 반복문을 통해 일치하는 인덱스의 값을 1씩 증가시켰고 반복문이 종료되었을 때 정수형배열 인덱스 위치의 값이 1인 문자를 answer 에 추가하였다. class Solution { public String solution(String s) { String answer = ""; final int ALPHABET = 26; int[] arr = new int[ALPHABET]; for (int i=0;i

[Coding/Backjoon] 2830번 행성 X3

https://www.acmicpc.net/problem/2830 2830번: 행성 X3 상근이는 초등학교 졸업 여행으로 외계 행성 X3에 방문했었다. 이 행성에 사는 사람들의 이름은 모두 자연수이다. 행성의 거주민은 모두 서로를 알고 있다. 두 X3인은 그들의 친밀도를 자신의 이 www.acmicpc.net 1. 문제 풀이 방법 이 문제를 이해하기까지 너무 어려웠다. 이 문제에서 원하는 것은 3명 이상의 이름이 주어지면 각각 2명씩 모두 비교하여 나온 친밀도를 다 합하는 것이 정답이였다. XOR 연산을 하기 때문에 (각 자리의 1의 갯수) * (각 자리의 0의 갯수) * 2^i 를 하여 나온 모든 값들의 합이 정답이다. 각 자리에 존재하는 1의 갯수를 one 배열에 저장한다. 예를 들어 2^1 자리에 ..

[Coding/Backjoon] 10807번 개수 세기

https://www.acmicpc.net/problem/10807 10807번: 개수 세기 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거 www.acmicpc.net 1. 문제 풀이 방법 입력받은 문자열은 공백으로 구분되어져 있으므로 분리한 후 배열에 저장하고 입력된 V 와 일치하면 cnt 변수를 1씩 증가시킨다. (1) 방법 1 반복문을 사용하여 개수 찾기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Sca..

[Coding/Backjoon] 9012번 괄호

https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 1. 구현할 방식 "(" 가 입력된다면 Stack에 데이터를 삽입하고 ")" 이 입력된다면 Stack에 저장된 데이터를 한 개 씩 pop() 한다. 이때 Stack에 아무런 데이터가 없는 상태에서 ")"이 입력된다면 VPS가 아예 불가능하기 때문에 NO를 출력한다. 2. 코드 구현 부분 import java.util.ArrayList; import java.util...

[Coding/Programmers] 숫자 문자열과 영단어

1. 구현할 방식 문자열 s 내부에 "zero" , ... , "nine" 의 문자가 포함되어 있는지를 파악하기 위해 contains() 메서드를 사용한다. 만약 문자열 내부에 문자가 포함되어 있다면 그 문자에 해당하는 숫자값으로 변환하기 위해 replace() 메서드를 사용한다. 2. 코드 구현 부분 class Solution { public int solution(String s) { String[] arr = {"zero","one","two","three","four","five","six","seven","eight","nine"}; for (int i = 0; i

[Coding/Backjoon] 1021번 회전하는 큐

문제 링크 https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 1. 구현할 방식 큐의 크기 N과 뽑아내려고 하는 갯수 M을 입력받는다. 큐의 크기만큼 자연수가 들어간 큐와 뽑아내려고 하는 수가 들어가있는 큐를 생성한다. 이후 자연수가 들어간 큐에 N까지의 자연수를 추가하고 뽑아낼 수를 차례대로 다른 큐에 추가한다. while 반복문을 사용하여 자연수 큐와 뽑아낼 수 큐 에서 하나씩 poll 하여 비교하고 만약 다르다면 자연수 큐에서 poll 한..

[Coding/Backjoon] 25556번 포스택

1. 구현할 방식 4개의 스택에 순열을 차례대로 넣는다. 이때 먼저 들어간 데이터보다 크면 해당 스택에 데이터가 들어가고 만약 작다면 그 다음 스택에 데이터를 집어넣는다. 이때 4개의 스택에 모두 들어가지 못한 n번째 데이터의 인덱스값에 true 를 넣어준다. 만약 스택에 데이터 삽입이 끝나고 ture / false 배열에서 true 가 존재한다면 순열을 정렬하지 못한 것이다. 2. 코드 import java.util.ArrayList; import java.util.Scanner; import java.util.Stack; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int..

반응형