3주차 기록

김은혁·2021년 6월 1일
0
post-custom-banner

배운 내용

git의 명령어를 배우고 workflow에 대해 실습해보는 시간을 가졌다. 그 후에 다른 과제를 수행할 때에도 적용하여 실습을 이어갔다. js에서 배열과 객체에 대해 배우고 코플릿 문제를 해결하였고 스코프와 클로저의 개념에 대해서도 배웠다. css 셀렉터에 대해 심화하여 배우고 이를 바탕으로 트위터 목업을 만들어보았다.

느낀 점

개념적인 부분이나 코플릿 문제를 해결할 때는 굉장히 흥미롭고 자신감이 넘쳤다. 하지만 css는 많이 익숙치 않아 목업을 만드는 과정에서 벅차다는 생각을 많이 했다. 아마 3주 간의 일정 중에서 가장 힘들었던 순간이 아니었을까 생각한다. 그리고 class명이나 id명을 정해주는 과정이 상당히 골치아픈 일이라는 것을 깨달았다. 이 부분을 해결해보기위해 관리자 도구로 naver와 구글 홈페이지에 설정된 이름들을 둘러보니 상당히 직관적인 이름들을 가지고 있었다. 이름을 정하는 부분에서도 상당히 많은 신경을 써주어야 할 것 같다. 앞으로 더 익숙해질 수 있게 노력이 절실하겠다.

알고리즘 스터디

알고리즘 공부를 꾸준히 해야겠다고 생각을 해서 코드스테이츠 안에서 스터디를 구해 알고리즘 공부를 시작하였다. 작년 하반기 동안 c로 알고리즘을 미친듯이 했었는데 간만에 하니까 알고리즘이 잘 떠오르지 않기도 했고 자바스크립트로 구현하는 것은 조금 다르기도 한 것 같다. 우선 입력을 받는 것이 c나 자바보다 번거롭고 아직 여러 번의 입력을 받는 것을 잘 다루지 못하겠다. 더 공부할 필요가 있을 것 같다. 아래 코드들은 달팽이의 속도를 구하는 문제인데 처음에 자바스크립트로 몇 번을 해도 컴파일 오류가 났다고 해서 c로도 구현을 해보고 자바로도 구현을 해본 것이다. 비주얼 스튜디오나 이클립스로 컴파일 했을 때 잘 출력이 되었는데도 백준에서는 제출이 되지 않았다. 뭔가 잘못된 것이 있나 생각해보다가도 잘 출력이 된 것을 생각하면 뭐가 뭔지 모르겠어서 기록해본다.

const readLine = require('readLine');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

let input = [];

rl.on('line', function(line) => {
    input = line.split(' ').map((el) => parseInt(el));
  }).on('close', function() {
    process.exit();
});

function howManyDays(a, b, v){
  let day = 0;
  while (true){
    v -= a;
    if (v < 0){
      return day;
    }
    if (v === 0){
      day++;
      return day;
    }
    day++;
    v += b;
  }
}
console.log(howManyDays(input[0], input[1], input[2]);

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
	int a, b, v;
	scanf("%d %d %d", &a, &b, &v);
	int day = 0;

	while (1) {
		v -= a;
		if (v < 0) {
			printf("%d", day);
			break;
		}
		if (v == 0) {
			day++;
			printf("%d", day);
			break;
		}
		day++;
		v += b;
	}
}

import java.util.Scanner;

public class Snail {
	private Scanner scan = new Scanner(System.in);
	private int day = 0;
	
	public void calculate() {
		String[] input = scan.nextLine().split(" ");
		int a = Integer.parseInt(input[0]);
		int b = Integer.parseInt(input[1]);
		int v = Integer.parseInt(input[2]);
		
		while (true) {
			v -= a;
			if (v < 0) {
				System.out.print(day);
				break;
			}
			if (v == 0) {
				day++;
				System.out.print(day);
				break;
			}
			day++;
			v += b;
		}
	}
	
	public void run() {
		calculate();
	}
	public static void main(String[] args) {
		Snail app = new Snail();
		app.run();
	}
}
post-custom-banner

0개의 댓글