
1. PCCE 시험 대비 코딩테스트 문제 풀이
2. 'MariaDB'를 통한 SQL 문법
1주차 때 열심히 달리면서 몸이 어느정도 적응하자마자 일주일 간의 연휴가 시작되었다. 연휴의 시작이라니 내가 직장인이었다면 좋았겠지만 그렇지 않으니 그냥 '침대에 눕고 싶은 나'와 '공부 해야된다고 소리치는 나'의 치열한 싸움이었다. 물론 어느쪽도 이기지 못한 애매한 상태였던 것 같지만 나름대로 여유시간이 생길 때마다 노트북 앞에 앉으려고 노력은 했다.

연휴에 1주차에 이어서 코딩테스트 문제를 풀었다. 뒤로 갈 수록 난이도가 조금씩이지만 높아지다보니 문제를 이해하는 데 어려움이 생기기도 했다. 시간적 여유가 부족해서 알고리즘 부분을 못 풀어봤더니 역시나 시험 문제로 나왔을 때 답을 내지 못했다. 10번 문제는 JavaScript를 적용하면 풀 수 있을 것 같았는데 Java로는 감이 잡히지 않았다.
const sender = ['D', 'A', 'B', 'A', 'D', 'C'];
const counts = new Map();
const result = [];
sender.forEach(function(s) {
if(!counts.has(s)) {
counts.set(s, 1);
} else {
counts.set(s, counts.get(s) + 1);
let index = result.indexOf(s);
result.splice(index,1);
}
result.splice(0, 0, s);
});
for(let i=0; i<result.length; i++){
let count = counts.get(result[i]);
result[i] = result[i] + " " + count;
}
console.log(result)
import java.util.*;
import java.util.stream.Collectors;
public class Test {
public static void main(String[] args) {
String[] sender = {"D", "A", "B", "A", "D", "C"};
Map<String, Integer> counts = new HashMap<>();
List<String> result = new ArrayList<>();
for(String s : sender) {
if(!counts.containsKey(s)){
counts.put(s,1);
} else {
counts.put(s, counts.get(s)+1);
result.remove(s);
}
result.add(0, s);
}
for(int i=0; i < result.size(); i++){
int count = counts.get(result.get(i));
result.set(i, result.get(i) + " " + count);
}
System.out.println(result);
}
}
팀원들과 연휴에 각자 1차 프로젝트로 하고 싶은 주제를 생각해보기로 했다. 관련 기사를 스크랩하고 참고할 수 있는 자료들을 모아 정리했다. 이전 기수에서 했던 프로젝트를 참고해봤는데, 내가 생각해보지 않았던 주제들도 많아서 도움이 됐다. 아쉬웠던 점은 정해온 주제에 대해서 팀원들과 회의할 시간이 부족했다.
개인적으로 진행하기로 한 소규모 프로젝트가 있어서 React 강의 수강을 시작했다. 이전에 기본적인 문법 정도만 알고 있었기 때문에 실습도 병행하면서 좀 더 심화적인 부분도 학습할 예정이다.
PCCE 점수가 내가 생각했던 것에 조금 미치지 못했지만 그래도 그럭저럭 봤다. 다만 스스로 아쉬운 부분은 알고리즘에 대한 이해도이다. 애초에 알고리즘 공부를 할 때 JavaScript를 Java로 리팩토링하는 방식을 취했다면 조금 더 좋은 점수가 나올 수 있지 않았을까 싶다. 내 점수가 조금 부끄럽기는 하지만 그래도 내가 지금 어떤 부분에서 어려워하고 있는지, 어떤 방식으로 공부하면 더 도움이 될 지 파악할 수 있는 기회였다고 생각하기로 했다. 코드를 짤 때 자주 쓰는 함수 이외에 어떤 것들이 있고 그것들을 활용할 수 있는 예시들도 같이 보면서 공부해야겠다.
아직 블로그에 정리하지 못한 문제풀이들을 틈틈이 정리해두려고 한다.
주말 중간점검 전까지 일정 이상 수강 후 학습 내용에 대해서는 Git Repository에 commit 해두려고 한다.
3주차 초반에 팀원들과 주제를 선정하고 요구사항 명세서를 작성할 수 있으면 좋을 것 같다.
Lv1.문제들도 꾸준히 풀어서 코딩 테스트 감을 잃지 않도록 해야겠다.
나의 모든 여정의 이유는 나
와 문제 많이 풀고 준비하셨네요. 2주차까지 수고 많으셨습니다 :)