문제 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 풀이 import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStrea..
문제 https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 풀이 앞뒤로 삽입, 삭제가 가능하다 => Deque 개념 활용 큐에 처음 포함되어 있던 수 = 큐의 크기 = N => 큐에 1~N까지 삽입한다. M개만큼 뽑아낼 값을 입력받는다. 연산의 최소값을 구한다. 큐의 가운데 인덱스를 기준으로 구하려는 값이 가운데보다 왼쪽에 존재할 경우, 큐를 왼쪽으로 한 칸씩 이동 왼쪽으로 이동하다가 원하는 값이 나오면 반복 종료 후 poll 가운데보다 오른쪽에..
문제 https://www.acmicpc.net/problem/1011 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행 www.acmicpc.net 풀이 표를 그려서 규칙성을 찾아내보자는 생각에 표그리기 까지는 성공했지만,,! 결국 식은 세우지 못해서 다른 분들의 풀이를 참고했다,, 거리(Y-X) 이동량 횟수 최대이동량 1 1 1 1 2 1 1 2 1 3 1 1 1 3 1 4 1 2 1 3 2 5 1 2 1 1 4 2 6 1 2 2 1 4 2 7 1 1 2 2 1 5 2 8 1 2 2 2 1 ..
서론 chatGPT를 가지고 놀고 싶어서 무엇을 할지 고민하다가, 옛날에 간단하게 python으로 xlsx 파일을 불러와서 원하는대로 자른 뒤 새로운 파일로 return하는 실행 파일을 만든게 생각났다. 이정도라면 chatGPT도 손쉽게 만들어주겠지 싶어서 처음에는 Java코드로 짜달라고 부탁해보았다. 코드가 생각보다 길어서 자꾸 짤려가지구 꽤 귀찮은 작업을 반복했고, exe 파일로는 만들지 못했다. 재미는 있었다. 이번에는 python으로 만들어달라고 할 차례였다. 코드가 훨씬 줄어서 간단하게 될 줄 알았는데, 자꾸 에러가 떴다. read_excel()이나 openpyxl.load_workbook() 을 쓰나 똑같이 제목과 같은 에러가 발생했다. chatGPT를 열심히 다그쳐 보고 구글링도 해보았지만 ..
이노베이션캠프를 참여한 덕분(?)에 스파르타코딩클럽의 웹개발 종합반 수업을 듣게 되었다. 수업은 0주차에서 5주차까지 구성되어 있는데, 나는 springboot로 프로젝트를 진행해봐서 그런지 내용도 쉽고, 눈에 보이는게 많으니까 재미도 있어서 이틀만에 다 들었다. 진행 방식 강의를 따라 코드스니펫을 복붙해서 작동시키며 원리를 이해하는 방식이다. 코드 자체의 동작방식에 대한 이해는 최대한 가볍게 넘어가고 웹이 어떻게 동작하는지 전체적으로 이해할 수 있게 한다. 아무것도 모르는 사람도 웹페이지를 제작할 수 있게 함으로써 입문자에게 자신감을 팍팍 불어넣어주는 듯 하다. 느낀 점! html / css / javascript를 맨날 조금씩 공부만 하고 뭔가를 만들어보지는 않아서 배우고 까먹고를 반복했는데, 이번 ..
SpringBoot 3가 릴리즈 되면서 javax.* 패키지들이 jakarta.*로 바뀌었다는 내용을 봤다. 괜히 직접 확인해보고 싶었다. 아무 생각 없이 build.gradle에 spring-boot-starter-data-jpa를 추가하고 바뀐 패키지 명을 확인했다. 잘 바뀌어있었다. 아무 생각 없이 어플리케이션을 실행했다. 에러발생! WARN 10524 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyExce..
문제 https://www.acmicpc.net/problem/2439 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 풀이 N이 5일 때 출력되는 모습은 다음과 같다. * // 공백 4개 별 1개 ** // 공백 3개 별 2개 *** // 공백 2개 별 3개 **** // 공백 1개 별 4개 ***** // 공백 0개 별 5개 for문을 돌 때마다 공백이 줄어든 만큼 별이 늘어난다. Java 11부터 추가된 String 메서드인 repeat()을 사용했다. repeat()은 Arrays.fill() & System.arraycopy()를 통해서 새로..
객체 JavaScript의 8가지 자료형 중 하나이다. 나머지 7개는 하나의 타입에 실제값 하나만 담을 수 있는 원시형(primitive type)으로 불린다. 객체타입은 다양한 데이터를 담을 수 있다. 중괄호({})를 이용해서 생성한다. key: value 쌍으로 구성된 프로퍼티(property)로 구성된다. key: 문자형 value: 모든 자료형 프로퍼티 이름에는 예약어도 올 수 있지만, "__proto__"라는 문자열은 올 수 없다. 프로퍼티는 특이한 방식으로 정렬된다. 정수 프로퍼티일 경우 오름차순으로 정렬 그 외의 프로퍼티 추가한 순서대로 저장 정수와 문자가 같이 섞여있으면 정수 먼저 정렬 후 들어온 순서대 문자 프로퍼티를 정렬 정수 프로퍼티 - 프로퍼티 명이 정수인 프로퍼티 - 정수에서 다른..
함수 기본 함수는 "동작(action)"을 나타내는 "값"이다. let myName = "홍길동"; // 외부변수 function show() { let message = "헬로"; // 지역변수 console.log(`${message} ${myName}!`); } show(); // 헬로 홍길동! 함수 외부에서 지역변수에 접근 불가 함수 내부에서 외부변수에 접근 가능 만약 show() 함수 내에 myName = "철수"가 있다면, 외부변수 myName은 show() 내에서 무시됨 함수 외부에 선언된 변수는 지역변수(global variable)라고도 함 function hello(first, second) { //first, second: 매개변수 second = "**" + second + "**"..
배열 // 아래의 두 방법으로 빈 배열 생성 가능 let arr1 = new Array(); let arr2 = []; // 배열 생성과 동시에 초기화 가능 let fruits = ["사과", "바나나", "포도"]; // 배열 생성 시 쉼표로 끝날 수 있음 let vehicles = ["비행기", "자동차", "자전거", ]; //new Array()로 생성 시 주의할 점 let nums1 = new Array(1,2,3); let nums2 = new Array(2); console.log(nums1); // [1,2,3] console.log(nums2); // [ ] // 숫자형 인수를 하나만 넣을 경우 숫자만큼의 길이를 가진 배열 생성 // 그래서 그냥 대괄호로 선언하는게 좋음 // 인덱스(in..