반응형

 

오늘 하루를 시작한다.

오늘은 9시에 기상하여 아침에 현대무벡스 인적성(언어이해 부분을 풀어보았다.)

그리고 어제 밤에 현대엠엔소프트 서류를 지원해서 오랫동안 묵혀왔던 것을 해결한 느낌이었다.

그리고 실업급여 신청일이어서 실업급여를 신청했다.(어차피 지원하는 곳은 정말 많아서 그냥 제출하기만 하면 되었다.)

실업급여 4번째 방문에도 어쩌면 코로나19로 인해서 인터넷 신청으로 할 수도 있다고 한다.

 

다시 한번 생각하는 거지만, 이렇게 취업 준비를 하면서 150만원이 넘는 금액을 받을 수 있는 것도 참 하나님의 은혜이다.

 

원래 오늘까지 현대IT&E 서류 지원하는 날인지 알았는데, 26일까지였다.(조금 여유가 생겼다.)

오늘은 한국투자증권 지원서를 작성해야겠다.

 

다시 오늘 할 일을 정리해보면,

1. 현대무벡스 인적성 공부

지금까지: 농도, 거속시, 일의 양, 명제 추리, 공간 도형(전개도) 조금

오늘 할 일: GSAT 조금 풀어보고, 경우의 수, 자료해석 조금

 

2. 한국투자증권 지원서 제출

3. 사라G12 목사님 영상 듣고 받아적기 - 튜러링 1번 진행

4. Git에 프로젝트 올리기(React 공부하기)

5. DT 교재 읽기

 

반응형
반응형

오늘의 날씨: 미세먼지 심각..ㅜㅜ

 

그래도 오늘은 나무에 단풍이 예쁘게 들어있었다.

 

자전거 타고 씽씽~~ 세마역 근처 투썸에 오는길이 너무 시원하고 예뻤다.

 

 

 

오늘 한 일을 적어보자

1. 효성티엔에스 지원 -> 정말 빠르게 작성했다...(근데 이미 여러번 자소서를 써봐서 생각보다 어렵지 않았다.)

효성티엔에스는 업무자동화 직군으로 썼는데, 석사를 우대한다고 해서 결과는 모르겠지만, 일단 괜찮은 회사같아서 썼다.

 

2. 해커스 현대그룹 인적성 언어이해문제 거의 5~6문제 정도? + 그리고 추리 문제 3문제정도 풀었다.

어제 공부한 삼단논법 유형은 아니었지만, 그래도 다양한 유형에 익숙해지는 것이 중요하다고 생각한다.

 

 

오늘의 할 일은 

일단 카페에서 해야할 일부터 정해보자.

현대엠엔소프트 자소서 쓰기

유튜브 영상 찍기(실전영상)

현대무벡스 인적성 공부

거속시 문제 / 일의 양 문제/ 도형 문제 뿌시기 + 농도 문제 & 추론 문제 5문제씩 풀어보자(감 중요!)

시간 되면 성경 읽는거 서비스 재개(오성순 연락) - github 올리기

영어 -> 튜러링 신청, 영어 문장 암기 시작, G12 사라목사님 영상 쉐도잉

 

~~ 시간이 흐른 후 ~~

 

이제 집 가려고 한다.

오늘 목표로 한것들을 피드백해보면,

1. 유튜브 영상 찍기 -> 어려웠다..ㅜㅜㅋㅋㅋㅋ 풀고 싶었으나 실패. 그래도 왜 그런지는 알았다.

2. 현대무벡스 인적성(거속시, 일의 양, 도형 추리 어느정도 했다. 농도 문제도 풀었다. 추론은 안품)

3. 현대엠엔소프트 자소서 못썼다. <-- 집에서 해야겠다.

 

 

집에서 할 일은

내일 실업급여 신청하는거 준비하기

현대 IT&E 자소서 작성

현대 엔엠소프트 자소서 작성

성경 읽기

 

 

내일 할 일

실업급여 신청

언어 이해 문제 10문제정도 풀기(추론, 주제, 빈칸, 순서, 어법 등 다양한 유형으로 집중하는 연습하기) 

반응형
반응형

오늘의 사진(열심히 공부한 농도 문제 정리)

오늘은 현대무벡스에서 서류합격 연락이 왔다.

일주일을 준비할 수 있는 과제가 주어졌다.

 

원래 NHN 코딩테스트를 준비하고 있었는데

현대무벡스와 날짜가 겹쳐서 코테는 포기-> 인적성으로 돌린다.

 

오늘한 일.

국민카드 지원서 제출

투썸 카페와서 농도문제, 거속시문제 조금, 명제 추론 문제를 공부

집에가서 할일

1) 모의고사 1번 풀기

2) 효성티엔에스 지원서 작성(집컴퓨터로 회원가입해야함, 효성 지원 사이트에서 MAC은 왜 모바일로 인식하는지 모르겠음)

3) 코딩테스트 1문제 풀기(Python) -> git 올리기 / 쉬운거 java로 풀어보기

4) 지원서 스케쥴 정리

 

 

내일은

현대IT&E 지원서 작성해야함.

 

반응형
반응형

 

현대무벡스에서 서류 합격 연락이 왔다.

이번 토요일에는 NHN 시험이 있는 날인데, 현대무벡스 인적성을 보아야 할 것 같다.

 

오늘부터 5일간 성실하게 준비해서 꼭 붙어야지!!

 

준비하는 방식을 세워보자.

1) 하루에 1번씩 모의고사 풀고 감을 잡아야겠다.(밤 12시부터)

2) 문제를 빨리 풀기 위해 (각 유형별 팁 연습)

언어: 빠르게 읽고 파악하는 방법 배우기

추리: 논증 문제(어떤, 모든, 부정, 긍정)

수리: 농도, 거,시,속 문제

도형: 

3) 마음가짐: 성실하게 하루 7시간씩만 하자, 그리고 후회하지 말자. 시험장에 들어가서도 욕심내서 바라는 것보다는 차분하게 아는것 먼저 빠르게 풀고 나오자.

4) 매일 시작할 때마다 기도하고 시작하자. 하나님께서 좋은 기회를 주셨으니까.

 

 

공부할 것 or 공부한 것 적어보자.

월요일

명제추리 문제 youtube 영상 보기.

 

명제추리는 문제풀이 공식

3단 논법이면 -> 벤다이어그램으로 풀기

필요한 전제 찾기면 -> 결론에서부터 시작하기

 

분수 크기 비교 빠르게 하는 방법 -> 이거 위포트 자료로 연습하기(수치해석 문제 대비)

 

소금물 문제(농도 구하기 - 비례배분으로 빠르게 풀자)

Tip 1 가열해서 증발시키는 경우 농도의 역수 개념으로 푼다.

Tip 2 물만 더 추가하는 경우 농도 0%라고 생각하고 접근

 

 

 

특히 농도 문제에서 3가지 이상 섞는 경우가 주어지면 소금의 g 수나 물의 양으로 뒤에서부터 접근해보자.

혹은 보기를 통해서만 풀 수 있는 문제가 있다.

 

거속시 문제 맛보기

 

유형 1) "같은 거리를 갈 때" 평균 속력 구하기 문제

시간/속력 + 시간/속력 = 2/평균속력(평균 속력 x로 놓음)

 

농도 간격 문제와 티켓 구매 문제

 

익숙하진 않더라도 문제 유형에 대해서 정확하게 파악하고 가자

 

최단경로 문제 풀었다.

 

최단경로 문제도 유형을 익히고 가자.

 

 

 

 

화이팅!!

반응형
반응형

 

 

문제 설명

두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다.

1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. 2. words에 있는 단어로만 변환할 수 있습니다.

예를 들어 begin이 hit, target가 cog, words가 [hot,dot,dog,lot,log,cog]라면 hit -> hot -> dot -> dog -> cog와 같이 4단계를 거쳐 변환할 수 있습니다.

두 개의 단어 begin, target과 단어의 집합 words가 매개변수로 주어질 때, 최소 몇 단계의 과정을 거쳐 begin을 target으로 변환할 수 있는지 return 하도록 solution 함수를 작성해주세요.

제한사항

  • 각 단어는 알파벳 소문자로만 이루어져 있습니다.
  • 각 단어의 길이는 3 이상 10 이하이며 모든 단어의 길이는 같습니다.
  • words에는 3개 이상 50개 이하의 단어가 있으며 중복되는 단어는 없습니다.
  • begin과 target은 같지 않습니다.
  • 변환할 수 없는 경우에는 0를 return 합니다.

입출력 예

begin     target     words     return

hit cog [hot, dot, dog, lot, log, cog] 4
hit cog [hot, dot, dog, lot, log] 0

입출력 예 설명

예제 #1
문제에 나온 예와 같습니다.

예제 #2
target인 cog는 words 안에 없기 때문에 변환할 수 없습니다.

 

 

 

문제 푸는 방법:

최단경로를 찾는 문제이다.

힌트는 한번에 1개의 단어만 변할 수 있다고 하는 부분에서 edge라고 생각하여 graph를 그릴 수 있다.

그래프를 그린 후에 target 노드까지 가는 최단 경로를 BFS 알고리즘을 통해 구해주면 된다.

 

정답 코드:

from collections import defaultdict

def solution(begin, target, words):
    if target not in words:
        return 0
    answer = 0
    graph = defaultdict(set)
    words.append(begin)
    for i in range(len(words)-1):
        for j in range(i+1,len(words)):
            if is_convert(words[i],words[j]):
                graph[words[i]].add(words[j])
                graph[words[j]].add(words[i])
    
    result = BFS(graph,begin)
    return result[target]

def BFS(graph, start):
    visited = {}
    queue = [(start,0)]
    
    while queue:
        cur = queue.pop(0)
        if cur[0] not in visited:
            visited[cur[0]] = cur[1]
            arr = set(graph[cur[0]]) - set(visited)
            queue.extend([(i,cur[1]+1) for i in arr])
    return visited

def is_convert(begin,target):
    cnt = 0
    for x,y in zip(begin,target):
        if x!=y:
            cnt += 1
    if cnt == 1:
        return True
    else:
        return False
반응형
반응형

 

내일은 정보처리기사 시험이 있는 날이다.

1주일 동안 그래도 열심히 준비하긴 했는데, 쉽게 나왔으면 좋겠다.

내일까지는 최선을 다해서 해야겠다.

 

다음주 24일에 있는 NHN 코딩테스트를 java로 볼 생각이다.

java는 익숙하지 않지만, 그래도 이번 기회에 java를 제대로 배워봐야겠다.

 

파이썬으로 문제를 풀면, 꼭 java로도 풀어보자.

분명히 하나님께서 나에게 꼭 필요한 역량을 만들어주실 것이다.

 

오늘은 kt스카이라이프를 지원서를 작성하려고 한다.

내일모레까지 kt스카이라이프, GS 네오텍을 지원해야해서 오늘 조금 작성할 것이다.

넣어야되는 서류

 

최근들어서 주변에 취업한 친구들이 많아지고,

왠지 허한 느낌이 든다.

취업한 친구들을 축하해주어야 하는데,

항상 마음으로 재보고 진짜 축하해주는게 어렵다.ㅜㅜ 그래서 어제 밤에 회개했다.

나보다 좋은 곳에 가면, 나는 왜 그렇지 싶고,

나보다 안좋은 곳에 가면, 아싸 나도 열심히 해야지 라고 마음 먹는 스스로를 돌아보았다.

 

친구들이 좋은 곳에 가면 기쁘고 싶다!

최근에는 정말 하나님께서 나에게 무엇가를 가르쳐주시는 것 같다는 생각이 찾아온다.

 

혼자 5Km 떨어진 투썸플레이스에 자전거타고 갈 때면, 여러가지 생각이 드는데,

힘들때마다 "이 또한 지나가리라" 라는 마음을 주신다.

이 생각이 찾아오면 마음이 한결 가벼워진다.

 

분명히 하나님 한분만으로 만족할 수 있는 사람이 되도록 하시기위해 이 시간을 선물로 주셨다고 믿는다.

 

앞으로 이 시간이 나에게 큰 도움이 될 것이다.

누구나 할 수 있는 취업을 준비하는 시간이 아니라,

하나님의 개인 레슨을 받는 시간이다.

모처럼 여유롭고 삶의 방향을 배울 수 있는 시간일 것이다.

 

항상 나중에 ~ 하고 싶다. 라는 말을 했었는데,
최근에는 유튜브에 영상도 찍어서 수업도 하고, 블로그로 글을 남기기도 한다.

또 영어 공부에 대한 마음도 다시 찾아와서 열심히 해보고 싶다. 영어 잘하고 싶다!ㅎㅎ

웹사이트를 하나 만들어서 운영하고 싶다.

좋은 아이디어는 없지만, 그래도 하나 만들어서 나만의 세상을 디자인해봐야겠다.

이제는 '나'에 집중하기보다 주변 사람들에게 관심을 갖고, 행복을 바라는 사람이 되기를..

 

나중에 하나님의 심판대 앞에 섰을 때, 

두려움에 떨지 않기를..

 

나의 삶이 다른 사람과 비교해서 기쁨을 찾는 것이 아니라,

나를 사랑하시는 하나님께로부터 기쁨을 발견하는 삶이 되자!

 

반응형
반응형

 

 

 

문제 설명

n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다.

처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로 가서 심사를 받을 수 있습니다. 하지만 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳으로 가서 심사를 받을 수도 있습니다.

모든 사람이 심사를 받는데 걸리는 시간을 최소로 하고 싶습니다.

입국심사를 기다리는 사람 수 n, 각 심사관이 한 명을 심사하는데 걸리는 시간이 담긴 배열 times가 매개변수로 주어질 때, 모든 사람이 심사를 받는데 걸리는 시간의 최솟값을 return 하도록 solution 함수를 작성해주세요.

제한사항

  • 입국심사를 기다리는 사람은 1명 이상 1,000,000,000명 이하입니다.
  • 각 심사관이 한 명을 심사하는데 걸리는 시간은 1분 이상 1,000,000,000분 이하입니다.
  • 심사관은 1명 이상 100,000명 이하입니다.

입출력 예

ntimes     return

6 [7, 10] 28

입출력 예 설명

가장 첫 두 사람은 바로 심사를 받으러 갑니다.

7분이 되었을 때, 첫 번째 심사대가 비고 3번째 사람이 심사를 받습니다.

10분이 되었을 때, 두 번째 심사대가 비고 4번째 사람이 심사를 받습니다.

14분이 되었을 때, 첫 번째 심사대가 비고 5번째 사람이 심사를 받습니다.

20분이 되었을 때, 두 번째 심사대가 비지만 6번째 사람이 그곳에서 심사를 받지 않고 1분을 더 기다린 후에 첫 번째 심사대에서 심사를 받으면 28분에 모든 사람의 심사가 끝납니다.

출처

※ 공지 - 2019년 9월 4일 문제에 새로운 테스트 케이스를 추가하였습니다. 도움을 주신 weaver9651 님께 감사드립니다.

 

 

문제 푸는 방법:

이진 탐색을 사용하여 문제를 푼다.

1분 부터 (가장 오래걸리는 심사관의 입국 심사 시간)*n 까지 범위를 두고,

mid = (left + right) / 2

mid라는 시간에서 각 심사관이 몇 명을 심사볼 수 있는지 isPassed 라는 메소드를 통해 확인

isPassed -> true 이면 현재 시간(mid)에 사람들이 모두 심사를 볼 수 있음(하지만 우리는 최솟값을 얻기 위한 것이니, left <= right일때까지 반복 true이면 right = mid -1로 더 줄여나감

isPassed -> false이면 현재 시간(mid)에 사람들이 모두 심사를 볼 수 있는 건 아님 => left = mid+1 로 현재시간을 더 늘려보기로 함

 

해당 과정을 left <= right 일때까지 반복하고 return 한다.

 

정답 코드(Java):

import java.util.*;

class Solution {
    public long solution(int n, int[] times) {
        Arrays.sort(times);
        return BinarySearch(times,n,times[times.length - 1]);
    }
    
    long BinarySearch(int[] times, int n, long max){
        long left = 1, right = max * n;
        long mid = 0;
        long ans = Long.MAX_VALUE;
        
        while (left <= right){
            mid = (left+right)/2;
            
            if (isPassed(times,n,mid)){
                ans = ans > mid ? mid : ans;
                right = mid - 1;
            }else{
                left = mid + 1;
            }
        }
        return ans;
    }
    
    boolean isPassed(int[] times, int n, long mid){
        long amount = 0;
        
        for(int i=0; i<times.length; ++i){
            amount += mid/times[i];
        }
        if (amount>=n) return true;
        else return false;
    }
}

 

 

 

반응형
반응형

 

 

문제 설명

n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다.

-1+1+1+1+1 = 3

+1-1+1+1+1 = 3

+1+1-1+1+1 = 3

+1+1+1-1+1 = 3

+1+1+1+1-1 = 3

사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요.

제한사항

  • 주어지는 숫자의 개수는 2개 이상 20개 이하입니다.
  • 각 숫자는 1 이상 50 이하인 자연수입니다.
  • 타겟 넘버는 1 이상 1000 이하인 자연수입니다.

입출력 예

numbers    target    return

[1, 1, 1, 1, 1] 3 5

입출력 예 설명

문제에 나온 예와 같습니다.

 

 

문제 푸는 방법:

모든 숫자에 +,-를 다 해보는 수밖에 없다.

+1 +1 +1 (?) (?) 이렇게 앞에서 3이 된다고 해도, 뒤에 값이 0이 된다는 보장이 없기 때문이다.

그래서 각 위치에 +/-를 해주어야 한다.

예제에 있어서는 2**5 번의 성능이 발생한다.

 

평균적으로 2**len(numbers) 만큼의 연산을 해야하는 것이다.

 

일단 DFS 로 풀 수 있다.

각 자리수로 들어가면서 해당 값을 +/- 연산을 모두 수행하는 것이다.

그리고 마지막 idx일때, 해당 값이 target과 같다면 result 라는 리스트에 1을 append해주고, target과 다르다면 0을 append 해준다.

==> 나중에 sum(result) 하면 1의 개수를 알 수 있다.

 

아래의 코드에서는 DFS는 재귀로 구현하였다.

정답 코드:

def solution(numbers, target):
    result = []
    DFS(numbers,0,0,target,result)
    return sum(result)

def DFS(arr,idx,current,target,result):
    if idx == len(arr):
        if current == target:
            return result.append(1)
        else:
            return result.append(0)
    DFS(arr,idx+1,current+arr[idx],target,result)
    DFS(arr,idx+1,current-arr[idx],target,result)
    return

 

 

 

반응형

+ Recent posts