들어가며 본 포스팅은 책에서 다룬 리트코드 문제들을 다루고 있습니다. 문제들은 모두 리트코드에서 출제된 문제들이며, 문제 풀이의 많은 부분을 책의 힌트와 해설을 참고하였습니다. 포스팅되는 모든 문제들의 목록과 풀이는 파이썬 알고리즘 인터뷰에서 제공하는 깃허브에서 확인하실 수 있습니다. 문제 Given a string s, return the longest palindromic substring in s. 가장 긴 팰린드롬 부분 문자열을 출력하라. 팰린드롬? 거꾸로 읽어도 제대로 읽는 것과 같은 문장이나 낱말, 숫자, 문자열(sequence of characters) 등이다. 예를 들어 '수박이 박수'같은 말. 슈퍼주니어의 로꾸거로 많은 사람들이 알고있을 듯. 입출력 예시 Example 1: Input: ..
들어가며 본 포스팅은 책에서 다룬 리트코드 문제들을 다루고 있습니다. 문제들은 모두 리트코드에서 출제된 문제들이며, 문제 풀이의 많은 부분을 책의 힌트와 해설을 참고하였습니다. 포스팅되는 모든 문제들의 목록과 풀이는 파이썬 알고리즘 인터뷰에서 제공하는 깃허브에서 확인하실 수 있습니다. 문제 Given an array of strings strs, group the anagrams together. You can return the answer in any order. 문자열을 받아 애너그램 단위로 그루핑하라. 애너그램(anagram)? 단어나 문장을 구성하고 있는 문자의 순서를 바꾸어 다른 단어나 문장을 만드는 놀이이다. 출처 - 위키백과 입출력 예시 Example 1: Input: strs = ["ea..
풀이 더보기 이름 하나를 기준으로 세워놓고 각각의 이름과 비교하여 동명이인인지 구한다. 동명이인을 만났을 때, 동명이인의 수를 중복으로 검색하는 걸 방지하기 위해서 일종의 스위치(?)를 만든다 => boolean 이미 동명이인으로 판별이 되고 나서 다음 이름을 검색할 때 같은 이름으로 검색하는 것을 방지하기 위해서, 동명이인을 만났을 때 해당이름을 다른 값으로 바꿔준다. 동명이인을 만나서 다른 값으로 바뀐 경우 검색할 때 skip해준다 => continue String memberStr = "김혜수:송강호:정우성:이민정:송강호:이민정:이민정:이정재:이병헌:이정재"; String[] names = memberStr.split(":"); int sameCount = 0; for (int i = 0; i < ..
문제 https://www.acmicpc.net/problem/2439 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 별찍기 - 1에서 왼쪽에 공백이 추가되었다. 별찍기 - 1을 반대로 뒤집은 후 '*'을 공백으로 바꿔주면된다. 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); for (int i = 1; i i; k--) { S..
풀이 더보기 import java.util.Scanner; public class Quiz01 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.print("수를 입력하세요 : "); int number = scan.nextInt(); System.out.println(sum(number)); scan.close(); } public static int sum(int a) { int sum = 0; for (int i = 0; i 100) { break; } } return sum; } } 풀이 더보기 import java.util...
풀이 더보기 import java.util.Scanner; public class Quiz01 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.print("제곱값을 구할 숫자를 입력하세요: "); int num = scan.nextInt(); System.out.println(num + "의 제곱은 " + getSquared(num) + "이다."); } public static int getSquared(int x) { return (int) Math.pow(x, 2); } } 풀이 더보기 import java.util.Scanner; public class Quiz01 { public..
문제 https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net * ** *** **** ***** 다음과 같은 형태의 별을 출력하는 문제 풀이 i = 1일 때, j = 0 -> * // * i = 2 일 때, j = 0 -> * j = 1 -> * // ** ... import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); for (int i = 1; i