Language
-
[우테코 프리코스] NsTest가 무엇Language/Java 2024. 10. 17. 13:06
우테코 프리코스를 수행하고 있다.효과적인 테스트 코드 작성을 위해 기본적으로 제공된 테스트 코드 속 NsTest를 톺아보는 시간을 가져보도록 하겠다. 제공된 소스코드class ApplicationTest extends NsTest { @Test void 커스텀_구분자_사용() { assertSimpleTest(() -> { run("//;\\n1"); assertThat(output()).contains("결과 : 1"); }); } @Test void 예외_테스트() { assertSimpleTest(() -> assertThatThrownBy(() -> runException("..
-
[Java] Java의 동적 배열Language/Java 2024. 10. 16. 19:20
우테코 1주차 문제를 해결하면서 필요해보이는 개념을 이곳에 정리해보려 한다.기존의 Java 내 배열은 정적 배열로, 선언할 때부터 크기를 설정해주어야 했다.그러나, 해당 문제의 입력 길이가 정해지지 않았기 때문에 동적 배열을 사용할 필요성을 느꼈다.Java에서는 대표적인 동적 배열로 ArrayList를 지원한다. Java oracle document - ArrayList오라클이 제공하는 자바의 공식 도큐먼트에서는 ArrayList가 무엇으로 구현되었는지 등의 정보를 볼 수 있다.[https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html]공식 도큐먼트를 보면, ArrayList가 Object > AbstractCollection > Abstra..
-
[IntelliJ]IDEA에서 java 버전 변경Language/Java 2024. 10. 15. 21:56
https://dev-emmababy.tistory.com/139 [IntelliJ] JAVA 버전 바꾸는 방법(JDK버전)기존에 8버전을 쓰다가 11버전으로 변경해야 하는 프로젝트가 생겨서 기록해보는 "버전변경방법" 인텔리제이에서 6곳을 변경해주면 된다 (5곳 - 버전변경선택 / 1곳 - 원하는 JDK선택) Project Structuredev-emmababy.tistory.com 대단히 도움을 받았습니다...감사합니다.... 변경 할 곳 목록1. File > Project Structure > Project2. File > Project Structure > Module3. File > Project Structure > (PlatformSettings) SDKs4. Settings > Build T..
-
[우테코 프리코스] 임하는 자세Language/Java 2024. 10. 15. 20:27
우테코에 지원했다."우테코와 내가 서로 잘 맞는지 알아보기 위한 과정"이라고 메일에 적혀있었다.그런 기회를 준다니..저는 알아가는 과정 너무 좋아한다구요....프리코스만 한달 열심히 해도 엄청 성장할 것이라는 기대가 생겼다. 붙는 것이 당연히 최종적인 목표겠지만, 한 해 한 해 보낼수록 드는 생각은, 너무 먼 미래에 대한 기대가 나의 현재에 그닥 큰 도움이 되지 않는다는 것이다.하루 하루 최선을 다하고, 어제보다 오늘 조금 더 알게 되는 것을 목표로 하려 한다. 자바랑...어사(어색한 사이)인데 나..좀 친해질 수 있을까~???히히. 재밌겠당~~~~~~~
-
[Python] round함수의 비밀Language/Python 2024. 7. 31. 14:11
알고리즘 문제를 풀다가 python round 함수가 우리가 생각한대로 작동하지 않는다는 사실을 알게 되었다.우리가 아는 반올림(round)사사오입 5이상은 올리고, 5미만은 내린다.python에서의 round()파이썬에서는 오사오입의 방식을 사용해 반올림을 구현한다.오사오입5미만은 버림, 5초과면 올린다.5일 경우, 앞자리가 짝수면 버리고 홀수면 올린다.오사오입의 방식을 따르므로round(2.5) -> 3round(3.5) -> 3인 당황스러운 답을 얻게 된다.[!important]슬프지만 사사오입으로 직접 구현해야한다.직접 구현해서 사용하는 round()반올림을 사사오입 방식으로 구현하기 위해서는 여러가지 방법이 있지만, 내가 사용한 방법을 정리해보려 한다. math.floor()한 값에 0.5를 ..
-
[Python3] 람다식 (lambda)Language/Python 2024. 7. 25. 20:25
알고리즘 문제를 풀다가 javascript와 java에 있는 map 람다식을 너무 사랑하는 사람으로서 파이썬에도 있는지 검색해보았다. 파이썬에는 완전히 동일한 함수는 아니지만, 간단한 수식은 한줄에 담을 수 있는 람다식(lambda)이 존재한다.lambda정의lambda_define = lambda x: x+1위 같이 정의한다.해당 코드는 아래 코드와 동일한 의미를 갖는다.# 아래와 동일한 코드def lambda_define(x): return x+1여느 함수처럼 정의만으로는 실행되지 않는다.함수명 뒤에 매개변수 괄호를 붙여주면 실행할 수 있다.실행 (이름있는 함수)lambda_define(1)실행(이름없는 함수)(lambda x: x+1)(10)# >> 11map과 함께 활용result = li..
-
[Java] Stack vs QueueLanguage/Java 2024. 7. 24. 19:43
Stack과 QueueStack : LIFO - ArrayList로 구현 - 수식계산, 괄호검사, undo/redoQueue : FIFO - LinkedList로 구현 - 최근 사용문서, 인쇄작업 대기목록, 버퍼메서드stack : empty(), peek(), pop(), push(o), search(o)queue : add(o), remove(), element(), offer(o), poll(), peek()java에서는 Stack은 클래스로 제공하지만 Queue는 따로 클래스로 제공하지 않음 -> Queue인터페이스를 구현한 클래스를 사용하자추가 메서드 : push(), offer(), add()꺼내서 반환하는 메서드 : pop(), remove(), poll()꺼내서 반환하는 메서드들의 차이Sta..
-
[Java] ArrayList vs LinkedListLanguage/Java 2024. 7. 24. 19:41
ArrayList vs LinkedListArrayList기존의 Vector를 개선한 것Object 배열을 이용해 데이터를 순차적으로 저장더이상 저장할 공간이 없으면 큰 새로운 배열을 생성하여 내용을 복사해서 확장중간 요소 삭제 시 바로 아래에 있는 데이터를 한칸씩 당겨서 덮어쓰는 방식 -> 시간 오래걸림LinkedListArrayList의 단점 : 크기 변경 불가, 추가 및 삭제 오래걸림LinkedList는 불연속적으로 존재하는 데이터를 연결하는 구조삭제와 추가가 빠르다.그대신 index로 탐색하는 방식이 아니라 처음부터 n번까지 따라가야됨. 접근 시간이 오래걸린다.class Node{ Node next; Object obj;}데이터의 개수가 변하지 않는 경우 ArrayList > Linke..