post-thumbnail

[객체지향의 사실과 오해] 02. 이상한 나라의 객체

객체지향과 인지 능력 객체 = 인간이 인지하고 구별할 수 있는 물리적인 또는 개념적인 경계를 지닌 어떤 것 객체지향 패러다임의 목적 = 현실 세계 모방 ❌ = 현실 세계를 기반으로 새로운 세계를 창조하는 것! 소프트웨어 세계에서 살아가는 객체는 현실 세계에 존재하

2023년 11월 5일
·
0개의 댓글
·
post-thumbnail

[객체지향의 사실과 오해] 01. 협력하는 객체들의 공동체

📌객체지향 패러다임의 핵심 == 자율적인 객체들의 협력객체지향 소프트웨어 = 실세계의 투영객체 = 현실 세계에 존재하는 사물에 대한 추상화\-> 이 개념은 철학적 개념에 적합하나, 유연하고 실용적인 관점에서 객체지향 분석, 설계를 설명하기 부적합객체지향의 목표 = 실

2023년 11월 5일
·
0개의 댓글
·

[JAVA] System.exit() 개념 및 동작원리 + 왜 사용을 자제해야할까?

java.lang 패키지에 속하는 System 클래스를 이용하면 운영체제의 일부 기능을 이용할 수 있습니다.프로그램 종료, 키보드로부터 입력, 모니터로 출력, 메모리 정리, 현재 시간 읽기, 시스템 프로퍼티 읽기, 환경 변수 읽기등의 일부 기능을 사용할 수 있습니다.

2023년 10월 27일
·
0개의 댓글
·
post-thumbnail

Random 대신 ThreadLocalRandom을 써야 하는 이유

결론부터 살펴보자. ThreadLocalRandom을 써야 하는 이유 java.util.Random 멀티 쓰레드 환경에서 하나의 인스턴스에서도 전역적으로 의사 난수(pseudo random)를 반환한다. 따라서 같은 시간에 동시 요청이 들어올 경우 경합 상태에서 성능

2023년 10월 27일
·
0개의 댓글
·
post-thumbnail

[Java] IntelliJ Java 버전 변경 + mac OS JAVA 환경변수 설정

Java11 을 사용하고 있었는데, Java17을 사용해야 할 일이 생겼다.다음에 다시 11로 또 변경해야 할 것 같기도 하고, 나처럼 버전을 변경하려고 하시는 분들이 어려움을 겪지 않았으면 하는 마음에 작성한다.변경할 Java17은 이미 설치한 상황이며, IDE는 I

2023년 10월 19일
·
0개의 댓글
·
post-thumbnail

[Java] JSON 라이브러리 사용 방법 (JSONObject, JSONArray) + JsonParser로 파싱하기

데이터를 주고받을 때, Json 형식을 많이 사용한다.Java에서 org.json 라이브러리를 이용하여 JSON 데이터를 다룰 수 있다.이 라이브러리에서 제공하는 JSONObject, JSONArray 클래스는 JSON 데이터를 갖고 있고, JSON 형식의 문자열로 출

2023년 10월 9일
·
0개의 댓글
·
post-thumbnail

[Java] Set

데이터 자료구조 (데이터 컬렉션)중 하나로, 특정한 값들을 저장하는 추상 자료형값들의 순서가 존재하지 않고, 중복되지 않음\-> 유한 집합을 컴퓨터 구현한 것다른 모음(Collection) 타입에서는 특정 원소를 검색하는 것이 주 업무이고, Set은 대상 원소가 집합에

2023년 9월 25일
·
0개의 댓글
·

[Spring] Jackson 이란 (+Json)

Jackson을 알려면, 우선 Json이 무엇인지 알아야한다.(여기서는 Json이 주 내용이 아니므로 기본적인 내용만 다루겠다)Spring 개발을 하다보면 데이터를 전달하고싶을 때가 있다. 이럴 때에는 보통 데이터 구조를 표현하는 방식인 XML 또는 JSON 형태로 많

2023년 9월 24일
·
0개의 댓글
·

[프로그래머스] 옷장

💡 Hash 사용!해시를 사용하긴하는데, 모든 조합의 경우의 수를 어떻게 구해야할까? 고민했다.조합 알고리즘을 사용하려했는데, 시간복잡도가 '2^30\*30'이라 이건 아니다싶었다.결국 다른 사람이 어떻게 풀었는지 힌트를 살짝 얻었다.특별한 알고리즘이 있는건 아니었고

2023년 9월 24일
·
0개의 댓글
·

[프로그래머스] 완주하지 못한 선수

partici.get(0);이 undefined로 나올때도 있는데, 해시 사이즈를 보니 1이긴하네?아 get()은 Key값으로 찾는거구나..나는 인덱스를 넣고있었다.values()로 value만 뽑아서, Iterator를 사용했다.원소는 무조건 하나밖에 없을것이므로,

2023년 9월 24일
·
0개의 댓글
·

[프로그래머스] 포켓몬

🙋 Hash 사용! 왜 Hash일까? 중복을 허용하지 않는 자료구조이기때문!이 문제가 해시로 분류되는것은 알고있었지만, HashMap을 쓴 후 어떻게할까를 고민했다..우선 중복을 허용하지 않는 키에 포켓몬 번호를 넣고, 조합 알고리즘을 사용해 경우의수를 보면서 종류의

2023년 9월 23일
·
0개의 댓글
·

[JAVA] HashSet - 개념 및 구현

Set 인터페이스에서 지원하는 구현 클래스객체 그 자체를 저장한다.순서가 일정하게 유지되지 않는다null 요소도 허용한다내부적으로 HashMap을 사용한다.중복을 허용하지 않는다.중복을 허용하지 않는게 가장 큰 특징이라 할 수 있다.HashSet은 객체를 저장하기 전에

2023년 9월 23일
·
0개의 댓글
·

[프로그래머스] 전화번호 목록 - JAVA

처음에 이 문제를 어떻게 풀어야할지 감이 안왔다.phone_book에서 2개의 원소(a,b라고 가정)를 고르는 2중 for문에, 한 번 더 문자열(b)의 길이만큼 반복하면서 잘라낸 문자열이 가장 바깥 문자열과 일치하는지 검사하는 코드를 슈도코드로 짜봤는데,, 이렇게하면

2023년 9월 15일
·
0개의 댓글
·

[프로그래머스] 게임 맵 최단거리 - JAVA

🙋 BFS 이용!레벨:2BFS 문제를 오랜만에 풀어서 그런지, BFS인게 감은 오는데 어떻게 풀어야할지 모르겠더라.다른사람들의 풀이(코드말고)를 보고 짰다.내가 처음에 기억 못하고 놓쳐서 헤맸던 부분은 이거다.보통 사방으로 이동하면서 해당 값을 넣는데, 여기서는 어떤

2023년 9월 15일
·
0개의 댓글
·

[프로그래머스] 타겟넘버 - JAVA

구현으로 풀 듯이 하려다가, 이게 DFS/BFS 유형인걸 알고 풀었기때문에 어떻게 사용될지를 생각해봤다.금방 DFS 라는것은 알 수 있었으나, 재귀적으로 어떻게 호출해야할지 감이 안왔다.깊이랑 합까지 파라미터로 넘긴다! (이 생각 전혀 못 함)그리고 다른 풀이를 찾아봤

2023년 9월 14일
·
0개의 댓글
·

[백준] 3190 : 뱀 - JAVA

테케 하나 돌려보고 맞았길래, 그냥 제출했는데 2,3번 테케에서 다른답이 나왔다.visited\[head.x]\[head.y] = true; 에서 '행'이 y, '열'이 x이어야하는데, 그 반대로 적어뒀다.visited\[head.y]\[head.x] = true;이것

2023년 9월 14일
·
0개의 댓글
·

[백준] 5430 : AC - JAVA

테스트 케이스는 맞았는데, 틀렸습니다를 받았다.를 넣으니, ]만 출력됐다.즉 isNone()이 true로 동작해서 error를 출력했다는말이다.근데 문제를 다시 살펴보니,, 조건을 헷갈렸다.값이 비었을 때 (isNone == ture) error를 출력하는게 아니라,

2023년 9월 14일
·
0개의 댓글
·

[백준] 13975 : - JAVA

🙋🏻‍♀️ 우선순위 큐 사용! 골드4라서 조금 어렵겠다 생각했는데, 아니다.생각해보면, 파일은 무조건 2개씩 합쳐지기때문에 어떻게 합치든 횟수는 고정이다! 동일한 횟수에 최소비용을 구하려면, 각 횟수마다 합이 최소가 되도록하면된다.따라서 우선순위 큐를 이용한다! 테

2023년 9월 14일
·
0개의 댓글
·

[알고리즘] 조합

n개의 숫자 중에서 r개의 수를 순서 없이 뽑는 경우예를 들어 1, 2, 3 이란 숫자 배열에서 2개의 수를 순서 없이 뽑으면이다.nCr =n−1Cr−1+n−1Cr하나의 원소를 이미 선택하고, 나머지 원소들에서 남은 것을 선택하는 경우의 수 + 하나의 원소를 선택하지

2023년 9월 13일
·
0개의 댓글
·

[백준] 13335 : 트럭 - JAVA

한 번에 맞았지만, 테스트케이스에서 결과가 달라서 조금 헤매기도했고, 처음에는 Queue를 이용해서 풀려고했는데 트럭이 얼마나 이동했는지를 큐 안에서 어떻게 표현할까를 고민하다가 배열 2개 사용하는 방식으로 바꾸었다.그래서 다른 풀이를 찾아보고 공부한다. Queue를

2023년 9월 8일
·
0개의 댓글
·