본문 바로가기

1475번) 방 번호 어렵다고 생각한 문제였습니다. String으로 입력을 받는다면, 답을 구하는 로직에 집중할 수 있어 수월했을 것 같은데,그냥 입력을 int로 받아서 배열을 초기화하려다보니 조금 더 어려웠네요. 입력받은 수를 잘 정리했다고 가정한 후, 로직은 이렇습니다. 1. 6 or 9로 이루어진 수의 갯수를 구합니다.1-1. 그 수가 짝수라면 --> / 21-2. 홀수라면 --> / 2) + 12. 그 외의 수로 이루어진 배열을 구해, 각 자리의 수를 카운트 한 배열을 구합니다.3. 사용자가 0을 입력했을 땐, 특수한 경우이므로 결과를 하드코딩해줍니다. 짜고보니 별로 좋은 코드는 아닌 것 같네요. 너무 과하게 긴 것 같네요 ㅋㅋ그래도 누군가에겐 도움이 되었으면 합니다.
Tomcat war 파일 배포 개발 서버에 배포를 하기 위해서는, 이클립같은 도구를 설치해서 활용하지 않습니다. 이클립스는 자동으로 컴파일을 해주는 도구입니다. 실 서버에서는 이클립스가 따로 없기 때문에 로컬에서 컴파일하고 배포하는 작업이 진행됩니다. 따라서, 이클립스를 통해 컴파일을 하고, 서버에 배포하는 것이 아니라war 파일을 Tomcat 서버에 배포를 해보도록 하겠습니다. 우선, 프로젝트를 war 파일로 Export해 줍니다. 위 파일을 ../apach-tomcat-x.x.x/webapps 에 넣어줍니다. 여기서, 만약 그냥 톰캣을 실행시켜주면프로젝트의 기본 경로는 http://localhost:8080/프로젝트명 이 되는데, 보통 "/"를 기본경로로 많이 사용하기 때문에, url이 꼬일 수가 있습니다. 그래서 ../apach..
Ajax를 사용하다가.. Ajax와 일반 스크립트 로직을 섞어 구현하려는 부분이 있었습니다. 제가 생각한 그림은 일반일반Ajax (결과 리턴 -> 이후 로직에 영향)일반일반일반 대강 위와 같은데,Ajax가 뭔지도 확실히 인지하지 않고, 무의식적으로 코딩을 하다가 시간을 엄청 쏟았네요. - Ajax: 비동기적인 ~~~ 비동기적: 요청의 결과를 기다리지 않고 애플리케이션이 진행 ~ 로직의 결과가 계속 뒤죽박죽인 이유가 여기있었습니다.결과를 반영할 전역변수를 선언해서 해결하면 가능하긴 한데,,, 까먹지 말아야겠습니다.
.submit()이 작동되지 않을 때 form 에 여러 내요을 담아 전송할 때 Ajax나 화면단 처리를 위해 기본 submit 이벤트를 .preventDefault()로 막아둔 다음,여러가지 로직 처리 후 .submit()로 처리하는 경우가 많은데요. 아무 생각없이 사용하다가 막혔는데, 서버, 클라이언트 콘솔창에 아무것도 안뜨고 실행이 안되었습니다. 검색해도 나오지도 않고,, 여튼 알아보니 submit 역할을 하던 버튼의 id가 "submit"이었기 때문입니다.두시간은 날린거 같은데 허무하네요. 대소문자를 가리지 않기 때문에 submit이라는 id 자체를 쓰면 안될 듯 합니다.
'좋아요' 기능 추가하기 개인 프로젝트에서 계속 미뤄오던 좋아요 기능을 구현해봤습니다. 우선 아래와 같이 좋아요 테이블을 하나 만들어야 합니다.(lno: 기본키, bno: 외래키(글 no), uid: 외래키(사용자 id)) 여기서,, 제가 찾아본 방식은 필드를 하나 더 만들어 좋아요 상태를 1 0으로 토클시켜주는 방식을 사용하던데 커뮤니티에 조언을 구한 결과,그냥 해당 데이터를 생성 삭제 하는것이 좋다는 의견이 많아 필드를 3개만 주었습니다. 전체적인 그림은,1. 좋아요 버튼은 로그인시 활성화2. 버튼 클릭시 Ajax로 uid, bno를 가진 데이터가 존재하는지 검사3. 2.결과를 이용해 [좋아요] [좋아요 취소] 로직처리3.1 데이터가 존재하지 않는다면: 데이터 추가3.2 데이터가 이미 존재한다면: 데이터 삭제 [like-ma..
2775번) 부녀회장이 될테야 주어진 k(층), n(호)으로 (k + 1) * n 이중 배열을 구해 해결했습니다. (기준: 0층의 거주자 수) 다 풀고 보니 3중 for문이 좀 신경쓰이네요. 그냥 14 * 14 이중 이중배열을 구하는 것이 더 좋을 것 같습니다.
10250번) ACM 호텔 N번째 손님이 왔을 때, N-1을 H(층)으로 나누었을 때 1. 나머지로 호실 앞부분을 2. 몫으로 호실 뒷부분을 구했습니다. 아래는 코드입니다.
1101번) Fly me to the Alpha Centauri 정답률 26.811%여서 깜짝 놀랬었는데, 다행히 생각보다는 괜찮았네요. 이동 횟수를 기준으로, '얼마나 많은 거리를 이동할 수 있는가'를 정리해봤습니다. 규칙이 보이는 홀수먼저 잡아보면, 최대 이동거리가 k * k꼴임을 확인할 수 있습니다. 짝수의 경우, 줄어들때도 1씩 줄어야 하는 조건 때문에 홀수 경우에서 가운데 부분만 빼면 최대 이동거리를 구할 수 있습니다. 그리고 최대 이동거리는 k * k - k꼴이네요. 이를 이용해 주어진 두 지점의 이동거리를 D라고 했을 때 1. D == k * k 2. 그 외 2-1. (k - 1) * (k - 1) - (k - 1) = D 위와 같은 로직으로 해결했습니다. 아래는 코드입니다.