분류 전체보기 172

[소프티어] Yeah, but How? 레벨2 자바 풀이 (한양대 HCPC 2023)

https://softeer.ai/practice/9498 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai    문제를 제대로 이해가 잘 안되어서 난해한 문제였다. 보통 괄호가 나오는 문제들은 스택을 많이 이용하기에 처음에 스택으로 해결하려고 고민을 많이 했다. 하지만 실패  import java.io.*;import java.util.Stack;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System...

[소프티어] 진정한 효도 레벨2 자바 풀이

https://softeer.ai/practice/7374 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai    처음 이 문제를 접했을때 어떻게 풀어야지 하는 막연함이 존재했다. 하지만 조금씩 생각을 하면서 어떻게 하면 좋을지 하다가 결국 가로, 세로 각 3개씩 생각을 하니 단순해 보였다.  하지만 모든 케이스를 다 뒤지면서 어거지로 풀긴 했으나 너무 비효율적으로 먼저 풀었다.  import java.io.*;import java.util.StringTokenizer;public class Main { // 풀이 1 (내 풀이) public static int dap = 3; public static void main(String[] args) throws IOExc..

[소프티어] 연탄의 크기 레벨2 자바 풀이

https://softeer.ai/practice/7628 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai    처음에 문제를 잘 못 이해하는 바람에 시간을 조금 썼던 문제이다.  연탄의 크기는 따로 안주길래 난로들 중 반복을 돌리면서 풀면 되겠지 했지만 아니였다. 생각보다 제약조건이 작아. 완전 탐색으로 문제를 풀면 금방 해결이 되었다.  import java.io.*;import java.util.StringTokenizer;public class Main { public static int dap = 0; public static void main(String[] args) throws IOException { BufferedReader br = new ..

[소프티어] 나무 공격 레벨2 자바 풀이

https://softeer.ai/practice/9657 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai    레벨2를 맨처음 필터하면 나오는 문제 나무 공격이다.게임 요소를 가미한 게이미피케이션 느낌의 문제였다.   레벨2가 되니 조금 지문이 길어진 느낌이다. 하지만 문제 난이도는 생각보다 간단한것같다.  위치만 잘 지정해두고 반복을 잘 돌리면 해결이 되는 문제였다.  import java.io.*;import java.util.*;public class Main { private static int dap = 0; public static void main(String[] args) throws IOException { BufferedReader br =..

[소프티어] 레벨1 자바로 풀기 (올솔 후기)

https://softeer.ai/practice?difficulty=LV_1&page=0 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai    레벨 1로 필터를 걸면 총 11개의 문제가 나온다. 원래 기존 코테 문제들은 파이썬으로 풀다가 이제 자바 공부를 시작하면서 자바로 풀어보고 기본 문법을 익힐겸 풀었다. 파이썬에서는 편하게 입출력했던 부분이 자바에서는 BuffferedReader, BufferedWriter, StringTokenizer를 이용하면서 재밌게 풀었다. 물론 처음부터 단순 구현문제가 대부분이라 쉬웠지만 언어가 익숙하지 않아 버벅였고 한두문제 정도는 은근 시간을 쓰게 되었다. 그만큼 실력이 부족하다는 뜻이다. 하지만 생각보다 자바가 너무 재밌어서 즐겁게 하게 되는것..

[소프티어] 위험한 효도 레벨 1 자바 풀이

https://softeer.ai/practice/7368 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai   그림상 Lv.2 라고 되어 있지만 Lv.1으로 필터가 되어있는 신기한 문제다른 Lv.1 문제 보다 조금 난이도가 있는 문제 였다. 문제를 한방에 해결하려고 하지 않고 1초씩 생각하고 총 거리수는 d * 2 로 제한이 있기 때문에 그 안에서 반복과 조건으로 한땀한땀 나아가는 방식으로 천천히 생각했다. 신경써야 하는 부분은 a,b가 교체되는 시점을 잘 생각하면 금방 풀리는것 같다. import java.io.*;import java.util.StringTokenizer;public class Main { public static int dap = 0; public s..

도커를 활용하여 배포 프로세스 개선하기

회사에 들어와 기능을 만들어야 하는데 제대로 된 서버 구성도 없고 배포 프로세스도 없어 오히려 좋다는 마인드로 이 기회에 한번 우당탕탕 배포 프로세스를 만들고 무중단 배포까지 진행을 해보았다.1. 문제 상황서비스 업데이트 번거로움: 기존 서비스를 nohup으로 실행한 후 업데이트 시 기존 프로세스를 찾아서 종료하고 다시 실행해야 하는 번거로움이 발생했다.데몬 사용: 데몬을 사용하여 서비스 실행과 중지 과정을 스크립트로 자동화했다. 이를 통해 프로세스를 종료하고 다시 시작하는 작업을 자동화하여 업데이트 과정을 간소화했다.환경 종속성 문제: 패키지 추가 시 환경에 따라 동작이 달라지는 이슈가 발생했다. 운영서버에서는 문제가 없지만, 개발서버의 OS가 달라서 생기는 문제로 인해 복잡한 환경 설정이 필요했다. ..

Infra 2024.07.29

[백준] 11718 그대로 출력하기 Python

https://www.acmicpc.net/problem/11718문제입력 받은 대로 출력하는 프로그램을 작성하시오.입력입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다.출력입력받은 그대로 출력한다.예제 입력 1 복사HelloBaekjoonOnline Judge예제 출력 1 복사HelloBaekjoonOnline Judge풀이Python에서 문제를 풀다보면 기본적인 입력 부분에서 시간 초과가 나는 경우가 있어 파이썬의 sys 라이브러리에 정의되어 있는 sys.stdin.readline() 메서드를 보통 이용한다.하지만..

[백준] 10811 바구니 뒤집기 Python

https://www.acmicpc.net/problem/10811문제도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2번째 바구니, ..., 가장 오른쪽 바구니를 N번째 바구니라고 부른다. 도현이는 앞으로 M번 바구니의 순서를 역순으로 만들려고 한다. 도현이는 한 번 순서를 역순으로 바꿀 때, 순서를 역순으로 만들 범위를 정하고, 그 범위에 들어있는 바구니의 순서를 역순으로 만든다.바구니의 순서를 어떻게 바꿀지 주어졌을 때, M번 바구니의 순서를 역순으로 만든 다음, 바구니에 적혀있는 번호를 가장 왼쪽 바구니부터 출력하는 프로그램을 작성하시오.입력첫째 줄에 N ..

트리(Tree)

트리(Tree) 데이터의 검색과 탐색에 아주 널리 이용되는 자료 구조. 트리란, 뿌리(루트; root)노드에서 간선(edge)들이 마치 나무에서 뿌리로부터 잔가지로 뻗어나가듯이 가지치기된 구조를 말한다. 딱딱하게 말하면, 순환하는 길이 없는 그래프(graph)로 정의 트리에 대한 학습의 바탕을 마련하기 위해, 아래와 같은 용어들이 무슨 뜻인지를 배운다. 노드(nodes) : 트리에서 각각 원소들을 의미한다. 간선(edges) : 노드들을 이어주는 것 루트 노드(root node) : 최상위 노드 리프 노드(leaf nodes) : 더이상 가지를 치지 않는 노드 내부 노드(internal nodes) : 루트 노드와 리프 노드 사이에 있는 노드들 부모(parent)노드와 자식(child)노드 노드의 수준(..