전체 카테고리
자바 [JAVA] - Binary Search Tree (이진 탐색 트리) 구현하기
자바 [JAVA] - Binary Search Tree (이진 탐색 트리) 구현하기
2022.09.24자료구조 관련 목록 링크 펼치기 더보기 0. 자바 컬렉션 프레임워크 (Java Collections Framework) 1. 리스트 인터페이스 (List Interface) 2. 어레이리스트 (ArrayList) 3. 단일 연결리스트 (Singly LinkedList) 4. 이중 연결리스트 (Doubly LinkedList) 5. 스택 인터페이스 (Stack Interface) 6. 스택 (Stack) 7. 큐 인터페이스 (Queue Interface) 8. 배열 큐 (Array Queue) 9. 연결리스트 큐 (LinkedList Queue) 10. 배열 덱 (Array Deque) 11. 연결리스트 덱 (LinkedList Deque) 12. 배열 힙 (Heap) 13. 우선순위 큐 (Priority..
[백준] 3003번 : 킹, 퀸, 룩, 비숍, 나이트, 폰 - [C++]
[백준] 3003번 : 킹, 퀸, 룩, 비숍, 나이트, 폰 - [C++]
2022.09.07https://www.acmicpc.net/problem/3003 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다. www.acmicpc.net 문제 기본 조건문만 안다면 그리 어렵지 않은 문제다. 알고리즘 [접근 방법] (필자가 Java하고 C++를 따로 포스팅하다보니 같은 문제에 대해 본문 내용은 거의 같다.. 그러니 만약 둘 다 보시는 분들이라면 양해를 바란다..) 체스.. 예전에 진짜 자주 두었었던 게임이다.. 킹 1, 퀸 1, 룩 2, 비숍 2, 나이트 2, 폰 8로 총 16개의 말을 활용하여 상대 말들을 하나씩 따내면서 체크메이트를 만들거나 스테일메이..
[백준] 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 - JAVA [자바]
[백준] 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 - JAVA [자바]
2022.09.06https://www.acmicpc.net/problem/3003 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다. www.acmicpc.net 문제 기본 조건문만 안다면 그리 어렵지 않은 문제다. 알고리즘 [접근 방법] 체스.. 예전에 진짜 자주 두었었던 게임이다.. 킹 1, 퀸 1, 룩 2, 비숍 2, 나이트 2, 폰 8로 총 16개의 말을 활용하여 상대 말들을 하나씩 따내면서 체크메이트를 만들거나 스테일메이트 등 기본적으로 왕이 움직일 수 없게 만들거나 잡힐 수 밖에 없는 상황을 만들어 이기면 된다. 아무튼.. 위 본문에도 나와있듯 각 체스말들의 개수는 고..
[백준] 2480번 : 주사위 세개 - [C++]
[백준] 2480번 : 주사위 세개 - [C++]
2022.08.05https://www.acmicpc.net/problem/2480 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개 www.acmicpc.net 문제 3개의 변수 비교를 하는 방법에 관한 문제다. 자바에서는 다중비교도 가능하기 때문에 쉽게 풀이할 수 있을 것이다. 알고리즘 [접근 방법] 위 문제에서 가장 중요한 것은 결국 세 개의 변수 비교다. 그 변수들에 따라 같은 것이 존재할 경우 같은 변수가 무엇인지를 찾고, 같은 변수가 두 개인지, 세 개인지를 판단해야한다. 또는 모두 다를 경우 세 개의 변수 중 가장 큰 것을 찾는 ..
[백준] 2480번 : 주사위 세개 - JAVA [자바]
[백준] 2480번 : 주사위 세개 - JAVA [자바]
2022.08.04https://www.acmicpc.net/problem/2480 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개 www.acmicpc.net 문제 3개의 변수 비교를 하는 방법에 관한 문제다. 자바에서는 다중비교도 가능하기 때문에 쉽게 풀이할 수 있을 것이다. 알고리즘 [접근 방법] 위 문제에서 가장 중요한 것은 결국 세 개의 변수 비교다. 그 변수들에 따라 같은 것이 존재할 경우 같은 변수가 무엇인지를 찾고, 같은 변수가 두 개인지, 세 개인지를 판단해야한다. 또는 모두 다를 경우 세 개의 변수 중 가장 큰 것을 찾는 ..
[백준] 2525번 : 오븐 시계 - [C++]
[백준] 2525번 : 오븐 시계 - [C++]
2022.07.24https://www.acmicpc.net/problem/2525 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net 문제 직전 문제인 알람 시계(2884번)와 거의 유사한 문제라 해당 문제를 풀었다면 어렵지 않게 풀 수 있었으리라 본다. 만약 아직 풀지 않으셨다면 해당 문제를 먼저 보고오시는 것을 추천드린다. 알고리즘 [접근 방법] 이 번 문제는 알람 시계 문제의 반대라고 보시면 된다. 알람 시계 문제에서는 주어진 시간에서 45분을 뺐어야 했다면 이 문제에선 사용자 입력에 따라 C분을 더해야 한다...
[백준] 2525번 : 오븐 시계 - JAVA [자바]
[백준] 2525번 : 오븐 시계 - JAVA [자바]
2022.07.22https://www.acmicpc.net/problem/2525 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net 문제 직전 문제인 알람 시계(2884번)와 거의 유사한 문제라 해당 문제를 풀었다면 어렵지 않게 풀 수 있었으리라 본다. 만약 아직 풀지 않으셨다면 해당 문제를 먼저 보고오시는 것을 추천드린다. 알고리즘 [접근 방법] 이 번 문제는 알람 시계 문제의 반대라고 보시면 된다. 알람 시계 문제에서는 주어진 시간에서 45분을 뺐어야 했다면 이 문제에선 사용자 입력에 따라 C분을 더해야 한다...
[백준] 25083번 : 새싹 - [C++]
[백준] 25083번 : 새싹 - [C++]
2022.07.06https://www.acmicpc.net/problem/25083 25083번: 새싹 아래 예제와 같이 새싹을 출력하시오. www.acmicpc.net 문제 알고리즘 [접근 방법] 이 번 문제도 단순 출력문제다. 다만, 제어 문자(이스케이프 시퀀스)에 대해 이해를 하고 있어야 한다. 해당 부분에 대한 얘기는 아래 글에서 다루고 있으니 이 부분을 참고하여 풀이하시기를 바란다. https://st-lab.tistory.com/204
[백준] 18108번 : 1998년생인 내가 태국에서는 2541년생?! - [C++]
[백준] 18108번 : 1998년생인 내가 태국에서는 2541년생?! - [C++]
2022.07.01https://www.acmicpc.net/problem/18108 18108번: 1998년생인 내가 태국에서는 2541년생?! ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다. 불교 국가인 태국 www.acmicpc.net 문제 간단한 수리 추론 문제다! 알고리즘 [접근 방법] 어렵지 않게 풀었으리라 본다. 아마 정수 입출력에 대한 것과 수리 추론을 보는 것 같은데, 사실 알고리즘 문제를 푼다는 건 적어도 기본 문법과 사용은 어느정도 한다는 것이니.. 그래도 설명하자면, 불기 연도가 주어질 때 이를 서기 연도로 바꾸어 출력하라는 것이다. 그럼 불기를 어떻게 ..
[백준] 10926번 : ??! - [C++]
[백준] 10926번 : ??! - [C++]
2022.06.30https://www.acmicpc.net/problem/10926 10926번: ??! 준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때 www.acmicpc.net 문제 알고리즘 [접근 방법] 이 번 문제는 C++ 의 string 자료형을 쓰면 어렵지는 않은 문제다. 다만, C스타일로 char[] 에 담은 뒤, printf 형식에 ??!을 붙여 출력 할 경우에는 조금의 주의가 필요하다. 오늘은 이 부분에 대해 간략히 소개하고자 한다. 예로들어 char id[10] 에 abcd를 담았다고 가정보자. 그러면 위 우리가 일반적으로 생각하기에는 이런식으로 출력할 수..