[Java] Stack 사용방법
·
추가 공부/Java
Stack이란?Stack 사전에서는 '쌓다', '더미'라 말한다.즉 상자에 물건을 쌓아 올리듯이 데이터를 쌓는 자료 구조라고 할 수 있다. 스택은 마지막에 저장한 데이터를 가장 먼저 꺼내게 되는 구조 특징이 있다.이런 자료 구조를 LIFO(Last In First Out) 구조라 한다.함께 많이 사용되는 Queue(큐)의 경우 먼저 추가된 데이터가 먼저 나오는FIFO(First In First Out) 동작을 갖는 것과 비교한다.  기본 스택 구조로 예시를 들면 탄창을 들 수 있다.마지막에 넣은 탄알이 가장 먼저 발사되고, 맨 처음에 넣은 탄환이 마지막에 발사되는 걸 예시로 들 수 있다. Stack 사용법자바는 java.util.Stack 클래스로 Stack을 사용할 수 있다.일반적으로 스택 데이터를 추..
[CodeUP] ID4833 : 쇠 막대기
·
코딩 테스트/Java
[문제]여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위 로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하 여 쇠막대기들을 자른다. 쇠막대기와 레이저의 배 치는 다음 조건을 만족한다.- 쇠막대기는 자신보다 긴 쇠막대기 위에만 놓일 수 있다.- 쇠막대기를 다른 쇠막대기 위에 놓는 경우 완 전히 포함되도록 놓되, 끝점은 겹치지 않도록 놓는다.- 각 쇠막대기를 자르는 레이저는 적어도 하나 존재한다.- 레이저는 어떤 쇠막대기의 양 끝점과도 겹치지 않는다.아래 그림은 위 조건을 만족하는 예를 보여준다. 수평으로 그려진 굵은 실선은 쇠막대기이고, 점은 레이저의 위치, 수직으로 그려진 점선 화살표는 레이저의 발사 방향이다.이러한 레이저와 쇠막대기의 배치는 다음과 같이 괄호를..
[CodeUP] ID4654 : 탑
·
코딩 테스트/Java
[문제]KOI 통신연구소는 레이저를 이용한 새로운 비밀 통신 시스템 개발을 위한 실험을 하고 있다.실험을 위하여 일직선 위에 N개의 높이가 서로 다른 탑을 수평 직선의 왼쪽부터 오른쪽 방향으로 차례로 세우고,각 탑의 꼭대기에 레이저 송신기를 설치하였다. 모든 탑의 레이저 송신기는 레이저 신호를 지표면과 평행하게수평 직선의 왼쪽 방향으로 발사하고, 탑의 기둥 모두에는 레이저 신호를 수신하는 장치가 설치되어 있다.하나의 탑에서 발사된 레이저 신호는 가장 먼저 만나는 단 하나의 탑에서만 수신이 가능하다.예를 들어 높이가 6, 9, 5, 7, 4인 다섯 개의 탑이 수평 직선에 일렬로 서 있고,모든 탑에서는 주어진 탑 순서의 반대 방향(왼쪽 방향)으로 동시에 레이저 신호를 발사한다고 하자.그러면, 높이가 4인 다..
[CodeUP] ID3130 : 소들의 헤어스타일
·
코딩 테스트/Java
[문제]농부 존의 N마리의 소들이 있다.소들은 헤어스타일에 예민하기 때문에, 다른 소들의 헤어 스타일을 보고 싶어한다.i번째 소들의 키가 hi이고, 모든 소들은 일렬로 서 있고 오른쪽으로만 볼 수 있다.i번째 소가 볼 수 있는 다른 소의 헤어 스타일은 i+1, i+2, .... 이다.그런데 자기 보다 키가 같거나 큰 소가 있으면 그 다음에 있는 모든 소들의 헤어스타일은 보지 못한다.예) N=6, H = { 10, 3, 7, 4, 12, 2 }인 경우 = = = = - = = = = -> 소가 보는 방향 = - = = = = = = = = = 10 3 7 4 12 21번소는 2, 3, 4소의 머리스타일을 확인할 수 있다.2번소는 다른..
[CodeUP] ID 3117 : 0 은 빼!
·
코딩 테스트
[문제]당신의 상관은 당신이 작년에 회사의 실적에 얼마나 도움이 되었는지 횟수를 세었다.불행히도 당신의 상관은 때때로 횟수를 틀리게 읽는다.다행히도 당신의 상관은 잘못된 숫자를 읽은 것을 인식하면 ‘zero’라고 말한다. 이는 ‘직전의 숫자는 무시한다’는 것을 의미한다. 불행히고 당신의 상관은 실수를 반복할 수 있고, 매 실수 마다 ‘zero’라고 말한다. 예를 들면 당신의 상관이 ‘One, three, five, four, zero, zero, seven, zero, zero, six’라고 말한 것은 7을 의미하는 것인데 다음의 표를 보면 알 수 있다.상관의 명령현재 숫자설명"one, three, five, four"1, 3, 5, 44개의 숫자를 기록"zero, zero"1, 3마지막 두 숫자를 삭제..
[CodeUP] ID 4891 : 행복
·
코딩 테스트/Java
문제코이 초등학교에 새로 부임하신 교장선생님은 어린 학생들의 행복감과학생들의 성적 차이 관계를 알아보기로 했다.그래서 이전 성적을 조사하여 학생들의 시험 점수 차이 변화를 알아보려고 한다.예를 들어서 2016년 학생 88명의 점수가 다음과 같다고 하자.27,35,92,75,42,53,29,8727,35,92,75,42,53,29,87 그러면 가장 높은 점수는 92점이고 가장 낮은 점수는 27점이므로 점수의 최대 차이는 65이다.한편 2017년 학생 88명의 점수가 다음과 같았다.85,42,79,95,37,11,72,3285,42,79,95,37,11,72,32 이때 가장 높은 점수는 95점이고 가장 낮은 점수는 11점이므로 점수의 최대 차이는 84이다.N명 학생들의 점수가 주어졌을 때, 가장 높은 점수와..
[Python] IntelliJ Python 설치 및 실행
·
추가 공부/Python
이번에 간단하게 IntelliJ에서 Python 을 설치하고 크롤링 예제를 실행시켜보려한다. 1. Python 설치https://www.python.org/downloads/ Download PythonThe official home of the Python Programming Languagewww.python.org사이트에 접속하여 최신버전 Python을 다운 받습니다.다운받고 아래 실행파일을 실행해줍니다. 실행이 완료된다면 다음같은 이미지로 실행이 될겁니다. close가 나올때까지 설치를 진행하면 Python 설치는 완료됩니다.2. IntelliJ 플러그인 설치 IntelliJ 플러그인 -> 마켓플레이스 -> Python 검색Python 플러그인을 설치하고 IntelliJ를 재실행합니다.3. Pyt..
[Python] 공부 전 Python을 알아보자.
·
추가 공부/Python
Python이란?Python은 웹 애플리케이션, 소프트웨어 개발, 데이터 과학, 기계 학습에 널리사용되는 프로그래밍 언어이다.개발자는 python이 효율적이고 배우기 쉽고 여러 플랫폼에서 실행이 가능하다. Python을 사용하면 어떤 이점이 있을까?Python 프로그램은 기본적이고 영어와 유사 구문을 가지고 있기에개발자가 쉽게 읽고 이해할 수 있다.Python은 다른 많은 언어에 비해 더 적은 코드 줄을 사용하여 Python프로그램을 작성할 수 있기 때문에 개발자의 생산성을 높인다.Python에는 거의 모든 작업에 재사용 가능한 코드가 포함된 대규모표준 라이브러리가 있다. 결과적으로 개발자는 코드를 처음부터 작성할 필요가 없다.개발자는 Java, C 및 C++ 등의 다른 인기 있는 프로그래밍 언어와 함께..
개발자가 되고 싶은 곰
'분류 전체보기' 카테고리의 글 목록 (6 Page)