728x90
반응형

변수 이름이 'type' 이어야 하는 경우가 생겼다.

Json 파싱 해야하는데 key 이름이 'type'이다. 난감..

스칼라는 대소문자를 구분하니 'type'의 t라도 대문자였으면 문제가 없는데...

알아보니 backticks(`) 를 쓰면 된다!

 

아래와 같이 사용하면 된다는 것!

var `type` = 10


case class Policy (
		Name:		String,
                `type`: 	String,
                Versions: 	Int )
728x90
반응형
728x90
반응형

심심하니까 푸는 프로그래머스 코테 문제

 

이번에 푼 문제는 '완주하지 못한 선수'

 

코딩테스트 연습 - 완주하지 못한 선수

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수

programmers.co.kr

문제 캡쳐본

예전에 한 번 C++로 풀어봤다. 이런저런 방법으로 풀다가 결국 해설을 봤던 것 같다.

#include <string>
#include <vector>
#include <algorithm>
#include <iostream>

using namespace std;

string solution(vector<string> participant, vector<string> completion) {
    string answer = "";
    sort(participant.begin(), participant.end());
    sort(completion.begin(), completion.end());
    
    for(int i = 0; i < participant.size(); i++){
        if(participant[i] != completion[i])
            return participant[i];
    }

    return participant[participant.size()];
}

 


 

이번에 고랭으로 풀어보려고 했는데 C++로 어떻게 풀었는지 이미 봐버려서 그대로 풀어버렸습니다 ㅠㅠ  근데 이 문제는 고랭은 지원하지 않아서 그냥 맞겠지 하고 풀었어요 ㅎㅎ

package main

import (
	"fmt"
	"sort"
)

func solution(participant []string, completion []string) string {
	sort.Strings(participant)
	sort.Strings(completion)
	
	for i:=0; i < len(completion); i++{
		if(participant[i] != completion[i]){
			return participant[i]
		}
	}
	return participant[len(participant)-1]
}

func main() {
	participant := []string{"leo", "kiki", "eden"}
	completion := []string{"eden", "kiki"}
	ret := solution(participant, completion)
	fmt.Println(ret)
}

sort 내장 모듈을 지원해주니 이 모듈을 사용했고 정확히 C++로 푼 방법과 똑같이 풀어버렸습니다 ㅋㅋㅋ 그래도 고랭 익숙해지는 거라고 생각하면 여전히 문제 풀어보는 건 좋지요!

728x90
반응형
728x90
반응형

기아자동차 코딩 테스트 후기

 

안녕하세요-! 며칠 전 기아자동차 코딩 테스트를 봤습니다!

그래서 오늘 복기겸 후기로 이렇게 포스팅을 합니다.


저는 도메인을 막론하고 데이터 직무 쪽으로 계속 지원을 하고 있어요.

이번에 현대자동차도 그렇고 기아자동차에서 모빌리티 서비스에 집중하며 데이터 분석과 처리 관련된 직무를 뽑더라고요.

자동차 회사는 돈 많이 주니까( 1순위) 지원서를 열심히 작성해 지원하게 되었습니다!


1차 - 서류

전형은 서류 - 1차 면접 - 2차 면접 - 최종 합격 이렇게 나와있었어요! 코딩 테스트가 추가되어 코딩테스트를 봤고 그 후기 포스팅이지만 코딩테스트가 없는 줄 알았어요... ㅎㅎ

 

아무튼! 이제 서류는 어느 정도 붙는 것 같아요. 서류에 엄청난 공을 들인 것은 아니지만 한 2주 정도 조금씩 스트레스받아가며 자소서도 열심히 작성하고 그동안 진행했던 프로젝트 정리한 내용을 가공해 지원서를 작성하였습니다.

자소서 문항은 총 3문항이었고 본인 역량 소개, 기아인 키워드에 따른 자기소개, 앞으로의 커리어 계획에 대해 작성하는 문항이었습니다.

서류 합격 발표는 코딩 테스트 보기 약 9일쯤 전에 났습니다. 회사에 있다가 퇴근하기 약 1시간 전이었는데 확인하고 헙! 하고 놀라다가 사레가 걸렸었죠 ㅋㅋㅋ

 

2차 - 코딩테스트

두구둥! 오랜만에 보는 합격 소식이라 기분이 좋았습니다! 

그리고 아래 오픈 채팅방을 열어주셔서 자유롭게 들어가 채용 관련 질문을 할 수 있었습니다.

 

그런데 평일 애매한 시간이어서 반차를 내야 하는 상황이었습니다.. ㅠㅠ 안 그래도 없는데 눈치를 보며 반차를 일단 썼습니다. 

 

처음에는 응시 언어에 Java 밖에 없었습니다. 위에 언급한 오픈 채팅방에서 응시 언어와 관련된 질문이 쏟아졌고 며칠 뒤 응시 언어가 추가되었다는 소식에 달려가 보니 C, C++ 이 추가되었더라고요! 직무가 데이터 쪽이라 파이썬 추가는 없냐는 지원자들도 있었지만 딱 잘라 없다고 하더라구요... ㅎㅎ 

저는 처음에 알고리즘 공부할 때 C++ 언어로 했어서 그나마 한 일주일 공부하며 자주 사용하는 자료구조를 익혔지만 파이썬으로만 준비해온 지원자들에게는 조금 어려웠겠다 싶었어요. 

사실 저도 올해 5월부터는 파이썬으로 알고리즘을 준비해왔어서 C++은 많이 까먹었을 것 같았는데 다행히 많이 까먹지 않았더라고요. 그리고 어떤 언어라도 접근하는 방향은 비슷하니 그동안 문제 해결력이 많이 길러진 이유에서인지 금방 금방 문제를 풀 수 있었습니다.


아무튼 대망의 코딩 테스트 당일! 점심을 많이 먹고 집에 와서 아이스크림도 먹고 접속을 했습니다.

프로그래머스에서 응시를 했고, 구글링 금지, 감독관 연결까지는 하지 않았지만 웹캠, 데스크톱 공유, 스마트폰으로 스트리밍까지 꼼꼼한 관리하에 시험을 보게 되었습니다.

 

시험은 총 3문제였습니다. (제가 당일에는 도저히 후기를 쓰기 어려울 것 같아서 시험 보자마자 침대에 누워서 시험 본 문제 유형과 내용을 메모해 놨어요 ㅋㅋㅋㅋ 보통 바로 까먹거든요 저는.. ㅎㅎ) 

자세히는 누출하면 안 된다고 해서 간략하게 문제 유형만 말씀드리자면,

  • 어레이(벡터) - 정렬, 넣고 빼기
  • 규칙 - 수학적 규칙? 이 문제는 사실 좀 오래 걸렸어요 규칙을 못 찾아서.. ㅎㅎ 여기서도 벡터를 사용했습니다.
  • 나누기와 모듈러 - 이것도 규칙을 찾을 수 있는가와 비슷한 문제

위와 같은 문제였고, 난이도는 2문제는 합쳐서 25분 정도만에 풀고 나머지 한 문제에서 한 한 시간 걸렸습니다. 어렵지 않은 정도라고 할 수 있죠!


오랜만에 코딩 테스트를 보고 기분이 좀 좋아서 방에서 뒹굴다가 저녁으로는 초밥 먹고 금요일이니 신나서 집에서 혼자 놀았습니다 ㅋㅋㅋㅋ 

그럼 결과 나오면 가지고 올게요!

 

읽어주셔서 감사합니다 😊 

이만 :)

728x90
반응형
728x90
반응형

programmers.co.kr/learn/courses/30/lessons/12939

 

코딩테스트 연습 - 최댓값과 최솟값

문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 (최소값) (최대값)형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를

programmers.co.kr

 

#include <string>
#include <vector>
#include <iostream>
#include <sstream>
#include <algorithm>
#include <cstdlib>
#include <stdlib.h>

using namespace std;

vector<string> split(string input, char delimiter) {
    vector<string> answer;
    stringstream ss(input);
    string temp;

    while (getline(ss, temp, delimiter)) {
        answer.push_back(temp);
    }
    return answer;
}

string solution(string s) {
    string answer = "";
    vector<string> nums = split(s, ' ');
    vector<int> num;
    int max = -9874;
    int min = 9874;

    for(int i= 0; i < nums.size(); i++){
        num.push_back(atoi(nums[i].c_str()));
        if(num[i] > max)
            max = num[i];
        if(num[i] < min)
            min = num[i];
    }
    answer = to_string(min) + " " + to_string(max);
    return answer;
}
728x90
반응형
728x90
반응형

파이썬 CSV 모듈 쓰기, 읽기, 수정

 

안녕하세요 :-)

파이썬에서 csv 파일에 쓰고, 읽고, 수정(추가)하는 방법입니다.

파이썬 언어로는 주로 데이터를 다룰 텐데 도출된 데이터 혹은 중간 데이터를 엑셀 또는 csv 파일로 내보내는 것이 필요할 때가 있습니다.
파이썬에는 csv 모듈이 있어서 간단하게 구현이 가능합니다.

참고로 CSV란 Comma Separated Values로 '쉼표로 구분된 값'이라는 뜻입니다. 

 

1. 파일 읽기

import csv
with open('filename.csv', 'r', newline='', encoding='utf-8-sig') as csv_file:
    reader = csv.reader(csv_file, delimiter=',', quotechar='"')
    for row in reader:
        print(", ".join(row))

#1 csv 모듈을 import 합니다.
#2 csv_file 이름으로 'filename.csv' 파일을 'r' 옵션으로 읽습니다.
#3 reader라는 객체로 한줄 한 줄 읽어옵니다.
#4 각 행은 문자열 리스트로 반환됩니다.

 

2. 파일 쓰기

import csv
header = ['first', 'second', 'third']
with open('filename.csv', 'w', newline='') as csv_file:
    writer = csv.writer(csv_file, delimiter=',', quotechar='"')
    writer.writerow(header)
    writer.writerow(['first value', 'second value', 'third value'])

#1 csv 모듈을 import 합니다.
#2 header를 정의합니다.
#3 csv_file 이름으로 'filename.csv' 파일을 'w' 옵션으로 씁니다.
#4 writer라는 객체를 생성합니다.
#5 writerow를 통해 헤더를 쓰고, 아래줄에 넣을 값을 입력합니다.

 

3. 파일 수정

파일 수정은 간단합니다. 'r', 'w' 옵션 자리에 'a'를 넣으면 append의 개념으로 아래 줄에 추가가 됩니다.

 

그럼 궁금한게 있다면 아래 댓글로 남겨주세요!

이만 :)

728x90
반응형
728x90
반응형

www.coupangrecruit.com/techcampus/

 

2020쿠팡 테크 캠퍼스 리크루팅

 

www.coupangrecruit.com

안녕하세요~! 

이미 결과까지 나와버렸지만 뒤늦게 쓰는 쿠팡 코딩 테스트 후기입니다!

 

학교 선배가 쿠팡에 다녀서 작년부터 저도 정말 정말 가고 싶었는데 이렇게 채용이 열려 지원했어요.

지원은 간단하게 이메일, 이름 등등 간단한 개인 정보만 입력하여 지원하였고 지원한 모두가 코딩 테스트를 볼 수 있는 형식이었습니다. 저는 이 방법이 제일 공평하다고 생각해요!

(보통 이런 채용 방식은 코딩 테스트가 조금 어렵죠... ㅎㅎ)

 

코딩 테스트는 한글날(10/9) 보게 되었습니다. 회사에 다니고 있는 저에게는 반차나 연차 안쓰고 볼 수 있는 좋은 기회였어요!

 


 

거두절미하고 코딩 테스트 후기입니다!

 

문제는 총 4문제가 나왔어요. 그중 3문제는 '쉽다(각 30분 안에 풀 수 있다)'라고 느껴졌고,

중간에 한 문제는 어렵지는 않았지만 디버깅에 시간이 많이 걸리는 문제였습니다.

 

디버깅에 시간이 많이 걸리는 문제가 2번이었어요.. 문제는 어렵지 않았기 때문에 해결을 하고 다음 문제로 넘어가고 싶었습니다. 그래서 시간이 부족했어요 ㅠㅠ 

다음 문제들을 풀다가 시간이 모자랐고, 결국 한 문제는 리턴 값에 값을 넣지 못한 체로 끝났습니다..ㅜㅠㅠ

(다 풀었는데 진짜... ㅂㄷㅂㄷ)

 

그래도 오랜만에 풀 만했고, 재미있는 테스트였어요. 제 실력이 아쉬울 따름이죠..

 

기억나는 문제유형으로는 문자열, 리스트(어레이), 탐색 입니다.

디버깅에 오래결렸다던 문자열 문제는 정확하진 않지만 카카오의 방금 재생된 곡 찾기 문제와 비슷하다고 느꼈어요.

 

저는 파이썬으로 코딩 테스트를 주로 보는데, 파이썬이 이런 문자열 문제 해결하기에 좋은 것 같습니다!

제공하는 자료구조 모듈도 많으니 알고만 있다면 코딩 테스트 볼 때 유용하게 활용하고 시간을 세이브 할 수 있을 것 같습니다! 

 


 

결과가 시험 친 후 일주일 뒤 금요일 저녁에 나왔습니다. 일 끝나고 피곤해서 누워있었는데 

탈락 이라는 결과를 받고 역시나.. 하며 그대로 그냥 누워있었어요 ㅋㅋㅋㅋ 예상한 결과였습니다... 

내년에 또 도전해야죠...ㅎㅎ

 

그럼 모두들 화이팅 화이팅입니다!!

안뇽 :-)

728x90
반응형

+ Recent posts