오늘은
오늘은 일요일이라
회사에 다니는 프로그래머 친구를 만나러 다녀왔습니다
배우고자 하는 열정을 가지고 주말이라 쉬고있는 친구를 탈탈 털고왔습니다
열심히 해보라며 조언을 아끼지 않았던 친구를 봐서라도
조금씩 조금씩 더 힘을 내보도록 해야겠습니다
코드를 짤 때 특히 반복문이나 조건문을 사용할 때
컴퓨터로 작업을 하는 것이지만 직접 그림을 그려서
도식화 해보고 코드가 어떤식으로 작동하는지
확인을 해보는 습관을 갖게되면 큰 도움이 된다고 하더군요
또, 코드를 작성하기에 앞서 먼저 글로 어떠어떠하게
코드를 짜나갈 것인지 정리를 해서 하나씩 코드를 실현해 나가면
크게 꼬이는 일이 없다고도 했습니다
배운것을 점검하고 테스트 해볼 수 있는 방법도 알려주었는데
바로 코딩테스트 연습을 해보는 것이었습니다
오늘 처음 시작해서 기초적인 부분부터 조오금은 복잡해보일 수도 있는
문제들을 풀어보았는데
스스로 지금 어느정도의 상황인지 파악할 수 있는 기회가 되었고
계속해서 하다보니 오기도 생기고 재미도 생겨서 자주 해야겠다고 생각했습니다
코딩 테스트 연습
Description
첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
class Solution {
public int[] solution(int numer1, int denom1, int numer2, int denom2) {
int numer = numer1 * denom2 + numer2 * denom1;
int denom = denom1 * denom2;
int num = 1;
for(int i = 1; numer >= i && i <= denom; i++){
if(numer % i == 0 && denom % i == 0)
{ num = i;}
}
numer = numer/num;
denom = denom/num;
int[] answer = {numer, denom};
return answer;
}
}
기억나는 것 몇 문제와 제가 풀이한 코드를 올려볼까 합니다
Description
정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.
class Solution {
public int[] solution(int[] numbers) {
for(int i = 0; i < numbers.length; i++){
numbers[i] *= 2;
}return numbers;
}
}
저는 왜 이리도 배열이 어렵게 느껴지는지 모르겠습니다..
코딩 테스트를 할 때 배열 문제가 나오면 좀 더 신중하고 꼼꼼하게 풀 수 있도록 해야겠습니다
Description 머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.
class Solution {
public int solution(int n) {
// 피자수, 사람의 수, 피자 조각의 수
// 피자 조각 수 = 7
// 피자 = 피자조각*7
// 사람 = 피자조각
// 사람 수가 7명 이상인 경우 피자를 7로 나누었을 때 나머지가 생기면 피자 + 1
int piece = 7;
int people = n;
int pizza = n / piece;
if(n % piece != 0){
pizza ++;
}
return pizza;
}
}
이런식으로 주석처리를 해주어서 미리 변수를 생각하고 어떤 값을 할당해줄지
정해놓고 코드를 짜게 되면 코드가 크게 꼬이는 일 없이 차근차근히 풀어나가게 되는것 같습니다
마무리
기초문제부터 시작해서 꽤 많은 문제들을 풀어보았는데
간단히 풀리는 문제가 있는 반면에 기초문제임에도 시간이 꽤 걸리는 문제들이 있었습니다
언제쯤 기초를 탈출하게 될지... 걱정과 압박감을 느끼면서
문제를 풀며 좀 더 의욕이 불타올랐던 하루였습니다
2023. 09. 17(일)
프로그래머 도전기 22일차 (0) | 2023.09.19 |
---|---|
프로그래머 도전기 21일차 (0) | 2023.09.19 |
프로그래머 도전기 19일차 (0) | 2023.09.17 |
프로그래머 도전기 18일차 (0) | 2023.09.16 |
프로그래머 도전기 17일차 (0) | 2023.09.15 |