본문 바로가기

Java

(501)
[자바 알고리즘 인터뷰] 8장 연결 리스트(1) 팰린드롬 연결 리스트 https://leetcode.com/problems/palindrome-linked-list/description/ - 연결 리스트가 팰린드롬 구조인지 판별하라   풀이 1) 스택을 이용한 풀이  - 팰린드롬 여부를 판별하기 위해서는 앞뒤로 모두 추출할 수 있는 자료구조가 필요 - 연결 리스트를 먼저 스택에 복사해 넣은 다음 ,다시 연결 리스트를 앞에서부터 이동하면서 값을 조회하고, 스택은 pop()으로 추출하면서 뒤에서부터 값을 끄집어내어 함께 비교해본다.  - 연결 리스트를 스택에 삽입//연결리스트에 스택을 삽입 ListNode node = head; while(node!=null) { stack.add(node.val); ..
[JAVA] 프로그래머스 - 한 번만 등장한 문자 https://school.programmers.co.kr/learn/courses/30/lessons/120896 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr     정답  import java.util.*;class Solution { public String solution(String s) { HashMap map = new HashMap(); ArrayList list = new ArrayList(); StringBuilder answer = new StringBuilder(); ..
[JAVA] 프로그래머스 - 인덱스 바꾸기 https://school.programmers.co.kr/learn/courses/30/lessons/120895 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr     정답  class Solution { public String solution(String my_string, int num1, int num2) { StringBuilder answer = new StringBuilder(); for(int i=0; i  다른 사람의 풀이  class Solution { public String soluti..
[JAVA] 프로그래머스 - 영어가 싫어요 https://school.programmers.co.kr/learn/courses/30/lessons/120894 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr    정답  class Solution { public long solution(String numbers) { long answer = 0; String nums[] = {"zero","one","two","three","four","five","six","seven","eight","nine"}; for(int i=0; i ..
[JAVA] SWEA 2007. 패턴 마디의 길이 https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5P1kNKAl8DFAUq&categoryId=AV5P1kNKAl8DFAUq&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=JAVA&select-1=2&pageSize=10&pageIndex=1 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com  정답  import java.util.Scanner;class Solution{ public static void main..
[JAVA] SEWA 1926. 간단한 369 게임 https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5PTeo6AHUDFAUq&categoryId=AV5PTeo6AHUDFAUq&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=JAVA&select-1=2&pageSize=10&pageIndex=1 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com  정답  import java.util.Scanner;class Solution{ public static void main..
[JAVA] SEWA 1859. 백만 장자 프로젝트 https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5LrsUaDxcDFAXc&categoryId=AV5LrsUaDxcDFAXc&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=JAVA&select-1=2&pageSize=10&pageIndex=1 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com  정답  import java.util.Scanner;import java.util.Stack;class Solution{ ..
[자바 알고리즘 인터뷰] 7장 배열(6) - 주식을 사고팔기 가장 좋은 시점 https://leetcode.com/problems/best-time-to-buy-and-sell-stock/description/ - 한번의 거래로 낼 수 있는 최대 이익을 산출하라 풀이 1) 브루트 포스로 계산 - 처음부터 O(n^2)로 사고팔고를 반복하면, 마지막에 최대 이익을 산출할 수 있음 - 타임아웃 class Solution { public int maxProfit(int[] prices) { int maxProfit = 0; //구매 시점 순회, 처음부터 끝까지 차례대로 반복 for(int i=0; i