목록Algorithm (27)
midnightly
📃 문제 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 📝 풀이 class Solution { public long solution(int price, int money, int count) { long sum = 0; for (long i = 1; i 0) { return 0; ..
📃 문제 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 📝 풀이 class Solution { public String solution(String s) { if (s.length() % 2 == 0) { return s.substring(s.length() / 2 - 1, s.length() / 2 + 1); } else { return s.substring(s.length() / 2, s.length() / 2 + 1); } } } https://programmers.co.kr/learn/courses/30/lessons/12903 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, s..
📃 문제 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. 📝 풀이 import java.util.*; class Solution { boolean solution(String s) { boolean answer = true; if (s.charAt(0) == ')') return false; Stack st..
📃 문제 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 📝 풀이 class Solution { public long solution(int a, int b) { if (a > b) { int tmp = a; a = b; b = tmp; } long answer = 0; for (long i = a; i < b + 1; i++) { answer += i; } return answer; } } https://programmers.co.kr/learn/courses/30/lessons/12912 코딩테스트 연습 - 두 정수 사이의 합 두 정수 a..
📃 문제 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. 📝 풀이 class Solution { boolean solution(String s) { s = s.toLowerCase(); String[] c = s.split(""); int cnt = 0; for (int i = 0; i < c.length; i++) { if (c[i]...
📃 문제 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 📝 풀이 class Solution { public boolean solution(String s) { if (s.length() == 6 || s.length() == 4) { boolean b = s.matches("^[0-9]*?"); return b; } else { return false; } } } https://programmers.co.kr/learn/courses/30/lessons/12918 코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만..
📃 문제 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 📝 풀이 class Solution { public String solution(String[] seoul) { String answer = ""; for (int i = 0 ; i < seoul.length; i++) { if (seoul[i].equals("Kim")) { answer = "김서방은 " + i + "에 있다"; break; } } return answer; } } https://programmers.co.kr/learn/cour..
📃 문제 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 📝 풀이 class Solution { public String solution(int n) { String answer = ""; for (int i = 0 ; i < n; i++) { answer += i % 2 == 0 ? "수" : "박"; } return answer; } } https://programmers.co.kr/learn/courses/30/lessons/12922 코딩테스트 연습 - 수박수박수박수박수박수? 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자..