오늘은 오전에 항해99에서 알고리즘테스트를 했다. 그리고 평소 궁금했었던 라이브러리와 프레임워크의 차이에 대해 알아보고 스프링에 대해 사전적으로 공부를 했다. 오늘 TIL은 해당 내용을 정리해보겠다.
둘 다 다른 누군가가 쓴 코드인데 프로젝트를 위해 가져다 쓰는 것.
내가 컨트롤 하는지 vs 누군가가 정해둔 규칙을 따라 컨트롤하는지가 라이브러리와 프레임워크의 차이.
라이브러리 : 제일 좋은 예는 JQuery. 쉽게 대체가능. 시간 절약하려고 쓰는 것.
내가 코딩을 하다가 내가 필요할 때만 라이브러리를 불러서 내가 코딩을 함.
프레임워크 : 제일 좋은 예는 장고. 프레임워크가 나를 부르는 것.
프레임워크로 일할땐 프레임워크가 어디에 뭘 써야할 지 규칙을 알려주고 내가 그 규칙에 따라 코딩을 해야한다.
하지만 리액트처럼 라이브러리와 프레임워크의 구분이 모호한 경우도 있다.
그래서 구분하는게 큰 의미는 없지만 개념적으로는 구분해서 알아둘 필요가 있다.
항해99 알고리즘테스트 상급 문제로 지뢰찾기 맵 구현 문제가 나왔다.
String[][] 2차원배열에서 주변배열값을 선정하는 방법을 찾지 못해 수동으로 일일이 찾아보는 방법으로 진행했다.
구석일때 인접한 3개를 가지는 경우/ 사이드일때 인접합 5개를 가지는 경우 / 나머지 인접한 8개를 가지는 경우로 나눠 진행했다.
N==1이고 지뢰가 아닐때 이 케이스를 고려 못해서 답은 틀렸었다.
제출전에 꼼꼼하게 튀는 case들 다 살펴보고 제출해야겠다..
char배열에다 int값을 변환해서 넣으려면
answer[i][j] = (char)(tmp + '0')
으로 (char)와 + '0' 둘 다 해주니 잘 되었다.