본문 바로가기

Java

(501)
[JAVA] 프로그래머스 - 세균 증식 https://school.programmers.co.kr/learn/courses/30/lessons/120910 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr     정답   class Solution { public int solution(int n, int t) { int answer = 0; answer = n*(int)Math.pow(2,t); return answer; }}   다른 사람의 풀이   class Solution { public int solution(int n, i..
[JAVA] 프로그래머스 - 제곱수 판별하기 https://school.programmers.co.kr/learn/courses/30/lessons/120909 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr      정답  class Solution { public int solution(int n) { int answer = 2; for(int i=0; i   다른 사람의 풀이  class Solution { public int solution(int n) { if (n % Math.sqrt(n) == 0) { retu..
[JAVA] 프로그래머스 - 문자열안에 문자열 코딩테스트 연습 - 문자열안에 문자열 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr      정답   class Solution { public int solution(String str1, String str2) { int answer = 2; if(str1.contains(str2)) { answer = 1; } return answer; }}
[자바 알고리즘 인터뷰] 9장 스택,큐(2) - 중복 문자 제거 https://leetcode.com/problems/remove-duplicate-letters/description/   - 중복된 문자를 제외하고 사전식 순서(Lexicographical Order)로 나열하라   풀이 1) 재귀를 이용한 분리  사전식 순서(Lexicographical Order) - 사전에서 가장 먼저 찾을 수 있는 순서 - bcabc에서 중복 문자를 제외하면 사전에서 가장 먼저 찾을 수 있는 문자열은 abc가 된다.  - ebcabc가 입력값이라면 결과는 eabc가 된다.  -> e 문자 자체는 해당 문자열 내에서는 사전에서 가장 뒤에 있지만 e는 입력값에서 딱 한번만 등장하고, a,b,c는 뒤이어 등장하기 때문에 e의 위치를 변경할 수 없기 때문이다.  - ebcabce라면 ..
[자바 알고리즘 인터뷰] 9장 스택,큐 (1) - 유효한 괄호 https://leetcode.com/problems/valid-parentheses/description/ - 대중소 세 종류 괄호로 된 입력값이 유효한지 판별하라   풀이 1) 스택 일치 여부 판별  - 열림 괄호인 [,{,( 는 스택에 푸시(push)하고, 닫힘 괄호인 ),},]를 만날 때 스택에서 팝(pop)한 결과가 매핑 테이블 결과와 매칭되는지 확인  - 매핑 테이블을 만들어 놓고 테이블에 존재하지 않으면, 즉 닫힘 괄호가 아닌 경우 무조건 푸시하고, 팝했을 때 열림 괄호가 아닌 경우 false를 리턴하도록 구현  - 입력값이 유효하지 않을 경우, 예를 들어 닫힘 괄호가 두번 연달아 들어오는 경우 스택이 비어 있는데 닫힘 괄호인 경우가 생긴다. 이렇게 되면 중간에 스택이 비게 된다.  -> 이..
[자바 알고리즘 인터뷰] 8장 연결 리스트(7) - 역순 연결리스트 2 https://leetcode.com/problems/reverse-linked-list-ii/description/ - 위치 left에서 right까지를 역순으로 만들어라. 위치는 1부터 시작한다.   풀이 1) 반복 구조로 노드 뒤집기  - 우선 변경이 필요한 위치의 바로 앞까지 다음과 같이 이동 //임시 노드 선언ListNode root = new ListNode(0);//임시 노드 다음으로 노드 시작root.next = head; //임시 노드부터 시작해 변경 필요한 위치 앞으로 이동 ListNode start = root;for(int i=0; i - start는 변경이 필요한 2의 바로 앞 지점 1을 가리키고, end는 start.next인 2를 가리킨다. - head는 1인데, 그보다도 더 ..
[JAVA] SWEA 1948. 날짜 계산기 https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5PnnU6AOsDFAUq&categoryId=AV5PnnU6AOsDFAUq&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=JAVA&select-1=2&pageSize=10&pageIndex=2 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com  정답  import java.util.*;class Solution { static int days[] = {0,31,28..
[JAVA] 프로그래머스 - OX퀴즈 https://school.programmers.co.kr/learn/courses/30/lessons/120907 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr    정답  import java.util.ArrayList;class Solution { public String[] solution(String[] quiz) { ArrayList list = new ArrayList(); for(int i=0; i