
괜히 20G로 설정해서는 투덜투덜 공유폴더에 있는거 UTM 으로 옮기려 하니까 디스크 용량이 부족하다고 한다.늘려보겠다. ※ 가상머신이 꺼져있는 상태에서 진행해야 한다. 1. 가상머신 자체 용량 늘리기~/Library/Containers/com.utmapp.UTM/Data/Documents 로 이동한다. 용량을 늘리고 싶은 가상머신으로 이동한다. 나는 ubuntu24.04.2-amd-default 3.utm 을 늘리고 싶었기 때문에 해당 폴더로 이동했다. 이동하면 Data 폴더가 나온다. 거기로 또 이동해주면 qcow2 확장자를 가진 파일이나온다.이걸 수정하면 된다. 용량을 늘리기위해 다음의 커맨드를 입력해줬다.qemu-img resize (파일 이름) (변경할 용량) 안된다. 쳇. brew ins..

📌 문제 링크:https://www.hackerrank.com/challenges/bigger-is-greater/problem 📖 문제 설명이 문제는 현재 문자열보다 사전식으로 다음에 올 문자를 반환하면 되는 문제이다.주어진 문자열이 사전식으로 가장 큰 문자열이라면 "no answer" 를 반환한다. 💡 접근 방식 처음 문제를 읽고 들었던 생각은 priority queue를 이용해서 풀면 되겠구나였다.가장 마지막 문자부터 pq에 넣고 순차적으로 앞의 글자와 pq의 글자를 비교하면서 앞의 글자가 pq보다 작으면 앞의 글자를 pq글자로 바꾼후, 그 이후부터는 pq에 있는 글자를 전부 출력하면 되는 문제라고 생각했다. 결론부터 말하자면 이건 잘못된 생각이었다. ❌ 잘못된 접근 방식 예시를 들어보..
https://school.programmers.co.kr/learn/courses/30/lessons/176962?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제유형 : 시뮬레이션 + stack 이 문제는 새로운 과제를 시간 순서대로 정렬한 후에 해당 과제를 차근차근 수행해나가면서 어떤 과제를 먼저 끝냈는지 알아내면 되는 문제다. 과제를 수행할 때 주의 사항은 다음과 같다. - 새로운 과제를 시작할 시간이 되었으면 무조건 그 과제부터 시작해야 한다.- 남는 시간이 생기면 멈춰뒀던 과제부터 시작한다. 멈춰둔 과제가 여러 개일 경우 가장 최근에 멈춘 과제부터 시작한다 => s..

IntelliJ 에디터에서 JDK 21 이상을 사용하는 경우 ChronoUnit 패키지 import 가 안되는 경우가 있다. 별짓을 다해봤는데 해결방법은 간단했다.intelliJ 최신버전을 다운로드 받으면 해결 된다. (IntelliJ IDEA 2021.3.3 => 2024.3.1)굳이 기존 버전을 삭제할 필요도 없다. 아래의 공식 사이트에서 현재버전을 다운로드 받아서 실행하면 해당 에러는 삭제된다. (최신버전 재설치하는데 시간이 오래걸릴것 같아서 최후의 방법으로 시도했었는데 10분도 안걸렸다. 진작 해볼걸 ㅠㅠ) https://www.jetbrains.com/ko-kr/idea/download/?section=windows 최고의 Java 및 Kotlin IDE인 IntelliJ IDEA를 다운로드하..

오늘은 지금까지 제가 어떻게 코딩테스트 스킬을 키워왔는지에 대해 공유해보고자 합니다. 저는 컴공과를 나와서 전공을 살려 IT 회사를 입사했고, 현재는 다시 취준생활을 하면서 다시 코딩테스트 연습을 하고 있는데요. 여차저차 벌써 코딩테스트 풀이 경력이 8년정도 되었네요. 8년이나 풀었으면 코테 엄청 잘하겠다! 싶으실 수 도 있겠지만 고등학교때 미분적분 아무리 잘했어도 직장생활 1년 하면 다 까먹는 게 사람이거든요.코테도 똑같습니다. 매일 풀다가 한달 정도만 안 풀어도 다 까먹어요... 핫핫 그래서 제가 말씀드리고자 하는 코딩테스트 실력 키우는 가장 좋은 방법은 뻔하게 들릴 수 있겠지만꾸준함 입니다.가장 어렵지만 가장 쉬운 방법이죠. 꾸준하게 매일 한 문제라도 코테문제를 풀다 보면 실력은 따라올 것입니다...

1. Isolation Level이란?Isolation Level에 대해 이야기하기 위해 간단하게 MySQL의 트랜잭션에 대해 짚고 넘어가보자.MySQL의 작업은 "트랜잭션"이라는 단위로 제공될 수 있는데, 여기서 트랜잭션의 사전적 의미는 데이터베이스 시스템에서 복구 및 병행 수행 시 처리되는 작업의 논리적 단위로서, 한꺼번에 모두 수행되어야 할 일련의 데이터베이스 연산이다.트랜잭션은 다음의 4가지 특성을 갖고 있다.원자성 (Atomicity): 연산은 모두 반영되거나 모두 반영되지 않아야 한다.일관성 (Consistency): 연산의 결과는 항상 일관성이 있어야 한다.독립성 (Isolation): 동시에 여러 개의 트랜잭션이 실행되고 있을 때 각각의 트랜잭션은 서로의 연산에 영향을 줄 수 없다.영구성 ..
문제https://leetcode.com/problems/maximum-matrix-sum/description/?envType=daily-question&envId=2024-11-24 문제 해설 n x n 행렬이 주어진다. 인접한 두수에 -1 을 곱할 수 있다. 전체 행렬의 덧셈값이 최대가 되게 -1을 곱한후, 최대 값을 반환하라. 풀이 문제 유형: 수학적으로 생각해보면 되는 문제입니다. - 행렬의 값이 최대가 되는 경우는 모든값이 양수가 되는 경우입니다. - 모든 값을 양수로 만들려면 행렬에 음수값이 짝수개 있어야만 합니다. 인접한 두수에 -1을 곱하면서 최대한 양수로 만들려고 할때, 초기 음수값이 홀수개라면 최종적으로 한개의 음수값이 남게됩니다. 즉, 초기 음수값이 짝수개 존재한다면 행려의 모든..
https://leetcode.com/problems/find-if-array-can-be-sorted/description/?envType=daily-question&envId=2024-11-06 문제배열에 인접해 있는 두 숫자를 이진수로 바꿨을때 1의 개수가 같아야 Swap 할 수 있다.인접해 있는 두수를 Swap 하는 방식으로만 정렬을 시행할 수 있을때, 주어진 배열을 완벽하게 정렬할 수 있는지 구해라. 풀이모든 수를 이진수로 바꿨을때 1의 개수가 몇개 나오는지 구한다.1의 개수가 같은 인접한 숫자들을 그룹짓고, 그 안에서 최대값과 최소 값을 구한다.다음 그룹의 최소값이 이전 그룹의 최대값 보다 작다면 해당 배열은 정렬할 수 없다. 아래의 코드는 5ms 가 걸린다. class Solution { ..
https://leetcode.com/problems/minimum-number-of-changes-to-make-binary-string-beautiful/?envType=daily-question&envId=2024-11-05 흠.. 이문제 왜 MEDIUM 레벨일까?가끔 리트코드의 문제 레벨 산정 방식이 궁금해진다. 아무리 생각해도 MEDIUM 치고 너무 쉬워서 내가 생각하지 못했던 엣지케이스가 있겠거니~ 하고 일단 제출해봤는데 통과되버렸다... 문제0과 1로 이뤄진 짝수 길이 문자열 s가 주어진다. 이 문자열의 짝수 부분문자열이 모두 0이거나 1이 되게 변경해서 아름다운 이진수를 만들어라. 아름다운 이진수가 되게 하기 위한 최소 변경횟수를 구해라. 풀이문자열은 항상 짝수로 주어진다고 하니앞에서부터 ..
https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이- dp를 이용한다.- d[i][j] : elements 배열의 i에서 j까지의 합 이 문제는 주어지는 배열이 순환배열이기 때문의 계산의 편의성을 위해 elements 를 두개붙여서 계산합니다. elements를 순회하면서 각 원소 i 부터 시작해서 1에서 n-1까지 만들 수 있는 모든 길이를 더합니다. ( 누적합을 구하는 방식을 생각하면 됩니다.)d[i][j] = d[i][j-1] + li[j]// i에서 j까지의 합 = i에서 j-1까..