728x90
반응형

알고리즘 138

From Cybersecurity to Development, 3 years of desperate struggle to hear "There's nothing more to ask" - Joining AIVIS as a Junior Developer

I am currently translating my career journey into English to improve my business English skills. Right after graduating from university, I took a job in penetration testing and cybersecurity consulting at an cybersecurity company in Seongnam. However, I gave up the job offer and switched my career to becoming a developer. After three years of three jobs, two resignations, one declined offer, and..

업적 2026.02.04

보안에서 개발로, 3년의 사투 끝에 '더 물어볼 게 없다'는 말을 듣기까지 - 에이비스(AIVIS) 신입 개발자 취업

나는 대학 졸업 직후, 성남의 정보보안 회사 모의해킹 & 보안 컨설팅 직무에 취업했다. 그러나 입사를 포기하고 개발자로 전향했다.그로부터 3년간 총 3번의 취업과 2번의 퇴사, 1번의 입사 포기, 그리고 약 400개의 서류 탈락을 지나온 끝에 나는 면접실에서 최고의 극찬을 들었다. '너무 답변을 잘 하셔서, 더 이상 물어볼 게 없네요.' 이 글은 그 1000일간의 처절한 기록이다. 정보보안에서 개발자로2023년 초, 나는 정보보안 학과를 졸업하고 모의해킹 직무로 취직하기 위해 당시 나의 꿈의 기업 안랩에 이력서를 넣었다. 열심히 공부했던 보상이었는지 서류에 합격했지만, 인생 첫 면접이었던 나는 면접에서 어설픈 답변과 함께 되지도 않는 자신감을 표출했고 쓰디 쓴 탈락을 맛보았다. 당연히 붙을 줄 알았던 ..

업적 2026.02.03

[독후감] 코딩 테스트 합격자 되기: 프로그래머스 기반 코딩 테스트 입문서 후기, 코딩 테스트 입문서 추천

평점: 3/5도서명: 코딩 테스트 합격자 되기 "코딩 테스트 합격자 되기" 교재를 완독했다. 하루에 1문제 ~ 3문제 정도를 푼 결과 완독은 2달 정도 걸렸다. 분량이 700페이지 정도 되기에 이걸 언제 다 읽나 하긴 했지만, 매일 조금씩 늘어가는 스스로를 보니 그렇게 긴 분량도 아니었던 것 처럼 느껴진다. 이 교재는 프로그래머스 문제 + 저자 출제 문제 합쳐서 총 100문제가 담겨 있고, 코딩 테스트에서 중요하게 생각할 점이나 시간 복잡도 계산법 같은 초보자가 놓치기 쉬운 부분을 가장 먼저 짚고 시작한다. 최근 코딩 테스트에서 나오는 빈출 유형들은 대부분 실려 있으나, 이분 탐색 알고리즘이 실려 있지 않다는 것이 조금 아쉽긴 하다. ==========고찰우선 책을 읽기 전 나의 기반 지식부터 말하겠다...

독서/IT 2025.11.19

[백준 20922 / Python / 실버1] 겹치는 건 싫어

슬라이딩 윈도우 or 투 포인터 문제이다. 나는 슬라이딩 윈도우가 익숙하고 더 직관적이라고 생각해서, 슬라이딩 윈도우 방식으로 풀었다. from collections import defaultdictimport sysinput = sys.stdin.readline"""최장 연속 부분 수열 길이 구하기같은 정수는 K개 까지 허용N: 제공된 수열 길이K: 같은 정수 허용 상한nums: 제공된 수열num_count: 각 숫자 당 개수 세는 딕셔너리, 기본값 int슬라이딩 윈도우딕셔너리 구조 -> 숫자: 개수-> 특정 숫자가 K개가 넘었다면, left는 특정 숫자 위치까지 진행하며 딕셔너리에서 값을 빼고 right는 right + 1 부분부터 다시 진행한다"""N, K = map(int, inp..

[백준 2075 / Java / 실버3] N번째 큰 수

자료구조, 정렬 문제이다.메모리 제한이 걸려 있긴 한데, 메모리를 신경쓰지 않아도 풀리긴 한다.난 3가지 방식으로 풀어보았다. import java.io.*;import java.util.*;public class N번째_큰_수_2075 { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; int N = Integer.parseInt(br.readLine()); int[] table = new int[N*N]; /** 숫자를 하나의 배열로 전부 입력받기 */ int i..

[백준 2304 / Java / 실버2] 창고 다각형

처음 문제를 보고, 이분탐색인가? 그리디인가? 어떤 알고리즘이지? 고민했는데,결국 그냥 구현이었다. import java.io.*;import java.util.*;public class 창고_다각형_2304 { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; /** * 가장 작은 창고 면적 구하기 * 한번 내려가면 다시 올라오면 안된다 * * 올라가기: 기존 높이로 쭉 진행하며, 높은 걸 만날때마다 올라간다 * 내려가기: 가장 높은 곳에 도달했다면, 내..

[백준 11501 / Python / 실버2] 주식

그리디 문제이다. 살짝 어려웠다. 난 2가지 방식으로 풀었는데, 의문점이 있다. import sysinput = sys.stdin.readline"""1. 큰 값 순서대로 정렬2. 현재 가장 큰 값 기준으로, 원본 리스트 역순 순회하며 가장 큰 값 찾기3. 찾았다면, 가장 큰 값 포함한 좌측 값 전부 사서 큰값에 팔기4. 원본리스트에서 방금 사용된 값을 전부 없애기5. 반복현재 가장 큰 값 idx가 while문당 1씩 증가하는데, 이거 좀 비효율이다. 이후에 올 큰값들이 지워지면 쓸모없어지기 때문따라서 가장 큰 값 리스트에서도 값들을 지워주고, 항상 0으로 인덱싱 하면 될 것 같은데 귀찮다.[1, 3, 1, 10, 2, 9, 3, 10, 5][10, 9, 5, 3, 2, 1]"""for _ in rang..

Algorithm/Greedy 2025.07.11

[백준 20310 / Python / 실버3] 타노스

그리디 문제이다. 실버 3보다는 좀 더 쉬운 것 같다. 시간복잡도도 고려할 필요 없다. 난 고려하긴 했지만. import sysinput = sys.stdin.readline"""0이 앞에 최대한 많아야 한다1은 앞부터 지우고0은 뒤부터 지우면 되지않나1. 리스트로 받아서 , 지우지 말고 -1로 교체 (지우는 연산 오버헤드 방지)2. 앞부터 -1이 아닐 경우 출력"""S = list(map(int, input().strip()))"""0, 1 개수 세기"""count = [0] * 2 # 0의 개수, 1의 개수 저장할 리스트for num in S: if num == 0: count[0] += 1 else: count[1] += 1"""앞부터 1 지우기"""delete..

Algorithm/Greedy 2025.07.04

[백준 3758 / Python / 실버2] KCPC

구현, 정렬 문제이다. 입력값이 다양하게 주어져서 헷갈리고, 관리해야 하는 데이터가 많아 헷갈린다.그러나 정렬 조건만 제대로 숙지한다면 크게 어렵지 않게 풀 수 있는 문제이다. import sysinput = sys.stdin.readline"""k개의 문제를 풀면 0점 ~ 100점 획득함 -> 팀ID/문제번호/점수 저장한 문제를 여러 번 제출하면, 최고점수가 최종점수 -> 제출안하면 0점팀의 점수는 각 문제 최종 점수의 합점수가 동일한 팀이 있을 경우1. 점수가 같으면, 제출 횟수가 적은 팀이 이긴다2. 점수와 제출 횟수가 같으면, 마지막 제출 시간이 빠른 팀이 이긴다정렬 조건: 점수 높은순, 제출횟수 적은순, 제출시간 빠른순"""for _ in range(int(input())): """ ..

Algorithm/정렬 2025.07.03

[백준 2607 / Python / 실버2] 비슷한 단어

구현, 문자열 문제이다. 비슷한 단어가 될 수 있는 조건을 정확히 찾으면 쉬운 문제인데, 조건 하나를 빠뜨려서 조금 헤맸다. from collections import defaultdictimport sysinput = sys.stdin.readline"""길이가 2이상 차이나면 제외.1. 길이가 1차이나는 경우, 나머지 문자의 개수가 전부 같다면 비슷한 단어이다.2. 길이가 같은 경우, 모든 문자가 같으면 비슷한 단어이다.3. 길이가 같은 경우, 하나의 문자가 다르다면 비슷한 단어이다.-> 이 3가지 외에 만족하는 케이스는 없다."""N = int(input())ref = input().strip()ref_count = defaultdict(int)for key in ref: ref_count[k..

728x90
반응형