유랑하는 나그네의 갱생 기록

だけど素敵な明日を願っている -HANABI, Mr.children-

Study 20

[Java] Java로 풀면 KMP를 써야하는 브론즈 문제가 있다?

관련 링크 : https://www.acmicpc.net/problem/16916  약 1년 전, 백준 스트릭을 유지하던 때가 있었습니다. 자바로 코테 준비를 시작한 지 얼마 안 됐기도 하고, 여러 가지 준비로 바빠서 가볍게 몸풀기로 푸려던 문제 중 하나였습니다. 간단하게 contains를 하면 되지 않을까 싶었지만? import java.io.*;import java.util.*;public class Main { //12:56- public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..

Study/Java 2024.08.18

[Java] 컬렉션 시간 복잡도

List 순서가 있는 데이터 집합. (데이터 중복 허용 o) Add Remove Get Contains Data Structure ArrayList O(1) O(n) O(1) O(n) Array LinkedList O(1) O(1) O(n) O(n) Linked List CopyonWriteArrayList O(n) O(n) O(1) O(n) Array Set 순서를 유지하지 않는 데이터 집합. (데이터 중복 허용 x) Add Contains Next Data Structure HashSet O(1) O(1) O(h/n) Hash Table LinkedHashSet O(1) O(1) O(1) Hash Table + Linked List EnumSet O(1) O(1) O(1) Bit Vector Tree..

Study/Java 2023.05.04

[Eclipse] 삼성 코딩테스트를 위한 연습 환경 만들기 (+단축키)

https://www.eclipse.org/downloads/ Eclipse Downloads | The Eclipse Foundation The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 415 open source projects, including runtimes, tools and frameworks. www.eclipse.org 이클립스는 학부생 이후 다시는 쓸 일이 없을 거라 생각했는데 쓰게 됐네요 ^^; 삼성 코테에서는.. Mac이 아닌 Windows를 쓴다는 점 .. 이클립스 IDE로 주어져서 인텔리제이를 못쓴다는 점 .. 인텔리제이를 못쓴다는 점 ... 인텔리제이를 못쓴다는 점 ..

Study/Java 2023.04.04

[IntelliJ] OpenJDK Java 11과 spring Mac M1 초기 환경 세팅

2024.10.18 - [Study/Java] - [IntelliJ] Mac 자바 버전 설정 및 변경 [IntelliJ] Mac 자바 버전 설정 및 변경That easy 늘 그렇듯이 새로운 프로젝트 설정을 맞춰주는 건 번거로운 일입니다. 서론은 이만 줄이고 바로 본론으로 들어가겠습니다. JDK를 아직 안 받았다? IntelliJ를 통해 JDK를 손쉽게 설치할 수claris.tistory.com[2024.10.18 수정] Java 21 버전과 관련된 설정은 이 게시글을 참고하시면 되겠습니다. 아니, 글 좀 작성하려고 티스토리에 들어오니까 400 에러가 떴습니다..글쓰기 버튼도 안 눌리고 페이지 전환도 안되고.. 사용하는 브라우저에 쿠키가 많이 쌓이면 이렇게 된다던데.인터넷 사용기록을 다 지우니까 해결은 ..

Study/Java 2023.02.28

Github를 위한 티스토리용 마크다운(MarkDown) 모음집.zip

마크다운 MarkDown이란? 마크다운(MarkDown)이란 것, 블로그에 글을 많이 써 본 사람들은 마크다운이라는 단어를 들어보셨을 겁니다. Github READEME파일의 확장자는 md인데 MarkDown의 약자이기도 하죠. 문법이 쉽고 간단하지만 표준이 없어서 플랫폼이나 사용자마다 문법이 다릅니다.. 헷갈리죠.. 예로 들자면,, 원래는 줄바꿈이 공백 2글자(space 2번) 혹은 HTML 태그인 을 사용하는데요. 지금 쓰는 이 게시글도 마크다운으로 작성하고 있지만 티스토리에서는 just 엔터 한번으로 줄바꿈이 됩니다.🫤 . . . HTML로 바꿔서 확인해보니, 마크다운으로 엔터를 치면 태그 안에서 이 추가되네요. 아니 .. 이런 경우가 있나 .. 아무튼 이 게시글은 Github readme를 잘 써..

Study/Github 2023.02.09

Mac에서 .gitignore로 불필요한 파일 필터링 & 제거하는 법

github로 협업이나 스터디를 할 때, 불필요한 파일이나 폴더는 gitignore로 제외를 하는 게 좋습니다. 터미널이 익숙한 유저라면, 터미널 상에서 .gitignore 파일을 생성하여도 상관은 없지만 저는 Github Desktop을 애용하므로 이것을 기준으로 작성하겠습니다. 알고리즘 스터디에 참여하면서 서로의 소스코드를 Git으로 모아놓기로 했는데요. Mac OS에서는 폴더의 사용자 정의 속성을 저장하는 .DS_Store파일이 자동으로 생깁니다. 이걸 굳이 Git에 올릴 필요는 없겠죠? .gitignore 파일명으로 파일을 생성한 후, *.DS_Store Git의 추적에서 제외할 파일명만 적어주면 끝! . . . 이라고 생각했지만? 다른 스터디원이 .idea 폴더를 올려버렸군요. T-T .giti..

Study/Github 2023.02.01

IntelliJ 학생 라이센스 갱신하기

오랜만에 인텔리제이를 켜니 라이센스 만료가 됐다고 합니다. 이 언어 저 언어 왔다갔다 해서 미안해 ㅜㅜ 앞으로는 자바에 사랑을 가득 줄 겁니다..🥰 학교 웹 메일에 접속하니 메일이 하나 왔더라구요.. 아직 졸업 안 했으니까? 전 "아직" "지금" "현재" 대학생 신분입니다. 그니까 아직은 쓸 수 있음.. 어쨌든 메일로 보내 준 라이센스 갱신 링크를 클릭하면 정보 입력도 기존에 사용하던 계정이라면 그대로 입력되어 있었습니다. 제출을 하면.. 바로 라이센스가 갱신됩니다. 기존에 있던 인텔리제이 세팅도 지울 겸 인텔리제이를 삭제하려니 런치패드에서 삭제가 안 됐습니다. 그럴 땐 터미널에 아래의 명령어를 입력하면 됩니다. ~ cd ~/Library/Application\ Support rm -rf JetBrain..

Study/Java 2023.01.06

[Java] 자바란 무엇인가? (자바의 특징과 자바 개발 환경 설치)

자바는 무엇일까. 자바는 썬 마이크로시스템즈(Sun Microsystems)가 1995년에 얼씨구절씨구... 이런 게 중요한가? 뇌에 집어넣을 수 있는 정보의 양은 한정되어있다. 핵심만 딱딱 집어넣도록 하자. 1. 어디서 많이 본 문법 ... ? C와 C++을 먼저 배우고 자바를 접해본 사람이라면 뭔가 익숙한 언어처럼 느껴질 것이다. 맞다. 자바는 C++과 유사하다. 포인터를 쓰지 않을 뿐. 메모리 관리가 쉽다. 2. 객체지향 언어 대표적인 절차지향 언어는 C다. 여기서 클래스가 추가되고 C++ 이 객체지향.. 블라블라... 자바는 여러 클래스로 하나의 프로그램을 만든다. 클래스와 객체로 프로그램을 만드는 언어를 객체지향 언어라고 한다. 클래스와 객체의 개념과 절차지향 언어와 객체지향 언어의 차이에 대한..

Study/Java 2021.04.14

정적할당,동적할당 그리고 "const char *" 형식의 값을 "char" 형식의 엔터티에 할당할 수 없습니다. 오류

#include #include using namespace std; int main() { int a, b, forth, back, cnt; srand((unsigned int)time(NULL)); a = (rand() % 100) + 1; b = (rand() % 100) + 1; while (a > b) { a = (rand() % 100) + 1; } //char arr[b]; char * arr = new char[b]; for (int i = 0; i b) { a = (rand() % 100) + 1; } //char arr[b]; char * arr = new char[b]; for (int i = 0; i

Study/C++ 2019.09.21

python ExifTags와 argparse로 이미지 정보 출력

import argparse parser = argparse.ArgumentParser() parser.parse_args() argparse는 커맨드 라인에서 옵션을 주려구 가져왔어요. parser.add_argument("-a", help="내용") 리눅스에서도 경험해봤겠지만 명령어 [옵션] 파일 형태로 명령을 내린다고 보면 됩니다. 옵션은 위 코드 한줄 추가해 주시고 작성해 주시구요. --help를 치면 아래와 같이 옵션에 대한 설명이 나오도록 하고 옵션에 따라 원하는 정보를 출력하는 프로그램을 작성해봅시다. 먼저 이미지의 exif 정보를 불러와야겠죠. from PIL import Image def get_exif(filename): image = Image.open(filename) image.v..

Study/Python 2019.08.16
320x100