5.4. 후위식 연산(postfix) 문제 후위연산식이 주어지면 연산한 결과를 출력하라 입력 352+*9- 출력 12 풀이 후위식(postfix)이란? - 피연산자를 먼저 표시하고 연산자를 나중에 표시하는 방법 - 컴파일러가 사용하는 것으로 스택을 사용하는 예들 중 가장 빈번하게 등장 - ex) 3*(5+2)-9를 후위연산식으로 표현하면 → 352+*9- 로 표현되며 결과는 12이다. 첫 번째 풀이 public int solution(String str) { int answer = 0; Stack stack = new Stack(); // 0 : 48 ~ 9 : 57 for (char x : str.toCharArray()) { if ((int) x >= 48 && (int) x = 48 && (int)..
5. 3. 크레인 인형뽑기(카카오) 문제 게임개발자인 죠르디는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. 죠르디는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 1 x 1 크기의 칸들로 이루어진 N x N 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 5 x 5 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 1 x 1 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 ..
https://inf.run/SgLm1 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 강의 - 인프런 자바(Java)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 코딩테스트에서 가장 많이 출제되는 Top 10 Topic을 다루고 있습니다. 주제와 연동하여 기초문제부터 중급문제까지 단계적으로 구성 www.inflearn.com
문제 N개의 단어가 주어지면 각 단어를 뒤집어 출력하는 프로그램을 작성하세요. 풀이 import java.util.Scanner; public class Main { public String[] solution(String[] words) { String[] answer = new String[words.length]; int idx = 0; for(String word : words) { String reverseWord = ""; for(int i=word.length()-1; i>= 0; i--) { reverseWord += word.charAt(i); } answer[idx] = reverseWord; idx++; } return answer; } public static void main(St..
문제 한 개의 문장에서 가장 긴 단어를 출력하는 프로그램을 작성하세요. 문장속의 각 단어는 공백으로 구분 풀이 import java.util.Scanner; public class Main { public String solution(String s) { String answer = ""; String[] words = s.split(" "); int[] wordLength = new int[words.length]; int max = 0, maxIdx = 0; for(int i=0; i max) { max = words[i].length(); maxIdx = i; } // wordLength[i] = words[i].length(); } return words[maxIdx]; } public stati..
문제 대소문자가 섞인 문자열을 대문자는 소문자로, 소문자는 대문자로 변환하여 출력하세요. 풀이 import java.util.Scanner; public class Main { public String solution(String s) { String answer = ""; for(char c : s.toCharArray()) { if(c >= 65 && c = 97 && c