본문 바로가기

열정가득한 개발자의 이야기/프로그래머스 문제

(15)
프로그래머스 java lv0 카운트 업 문제 간단 요약 : start_num은 명시적으로 숫자가 시작하는 지점이고, end_num 마지막 숫자를 표현하는 것입니다. 즉, 0부터 시작하는 것이 아닌 start_num부터 시작하고 end_num까지 1씩 증가해야 하는 문제입니다. 고려할 점 : 1. 1씩 증가해야한다 -> for 문을 써서 하나씩 증가 2. for문을 줄 때, i의 범위는 무엇으로 설정해야하나 -> 처음 숫자는 0이 아닌 start_num으로 설정하고 i++을 활용하여 하나씩 증가 3. int 배열에 integer를 하나씩 추가 -> arr[i] = 1;처럼 현재 문제에서는 숫자로 표현되어 있기 때문에 쉽게 배열에 넣을 수 있음 어려웠던 점 : 처음 arrayList를 쓰지 않고 일반 배열을 썼을 때, 계속 [0,0,0,3,4,5..
프로그래머스 java lv0 길이에 따른 연산 문제 요약 : 숫자 배열의 길이가 11 이상이면 각 요소들을 더하고, 10 미만이면 곱해라 고려할 사항 : 1. 각 요소들을 돌아가면서 곱하거나 더하는 방법 -> 배열이니까 for문을 쓴다 2. 배열 길이가 11 이상인지 10 미만인지 확인하는 방법 -> if- else문을 써서 확인 3. answer이 0으로 초기화 되어있다. 곱하기 위한 방법은? -> 0에서 어떠한 수를 곱해봤자 0이다. 그러니 길이가 10 미만일 땐, 1로 초기화해줘야 한다. 답안 : 우선 제가 애먹었던 부분은 곱하는 부분입니다. answer이 0으로 초기화가 되어있어서 else 문에 그냥 answer = 1;이라고 재 초기화를 해줬었어요. 근데 계속 5가 나오더라고요. (test 배열 [1,2,3,4,5]) ex) else { a..
PCSQL모의고사 문제 1 문제 내용 간략 설명 : OLD_POSTS와 NEW_POSTS가 있는데 OLD_POSTS에는 LIKES가 없습니다. 그러나 두 개의 테이블을 붙여서 LIKES를 표시해야 하는 상황입니다. 하지만 OLD엔 LIKE가 없어서 이 점을 고려하여, 한 테이블로 만들어야 하는 비교적 간단한 문제였습니다. 답안 : 고려해야할 부분 : 두 개의 테이블을 붙이는데 중복되면 안 된다. -> UNION 사용 OLD에 LIKE가 없다 -> WITH절로 임시 테이블을 만들고 거기에 NULL값으로 채움 UNION을 한 다음, NULL값 부분을 0으로 표시 -> IFNULL() 함수를 사용해서 0으로 변환 이렇게 문제는 길지만 비교적 간단한 SQL을 작성해 봤습니다. 처음에는 WITH절을 사용하지 않고 그저 OUTER JOIN으..
프로그래머스 코딩테스트 수열과 구간 쿼리 3 답안 솔직히 음.. 이런 문제는 뭔가 예전에 풀어본 적 있어서 별도의 새로운 배열을 만들고 잠시 그 값에 저장한 다음 기존의 값에 되돌려 주는 걸 알고 있었지만,,, 어떻게 표현해야할지 모르겠더라고요.. 그래서 2중 for문으로 해봤는데 막막해서… 2시간 정도 생각해 보다가.. 구글링을.. 해봤습니다.. 흑흑.. 뭔가 저의 문제는 생각은 나는데 그걸 표현을 못하는 것 같더라고요 이 마음.. 표현하고 싶은데 말로 표현 못하겠어 뭐 이런 느낌이랄까. 그래서 https://sun-dori.tistory.com/19 이 분의 tstory를 참고했습니다. 근데 식을 봤는데 너무 간단해가지고.. 그거 아시죠 간단한 게 더 어려운 거.. 그래서 나의 친구 chat gpt와 함께.. 답안을 분석해 봤는데 제가 못 받아..
프로그래머스 - 숨어있는 숫자의 덧셈 (java) 음.. 백엔드 쪽으로 갈 거라서 이제 다시 자바로 문제를 풀려고 합니다. 원래 코테 공부 스터디가 열려서 거기 들어가려고 자바스크립트를 푼 건데 마감했네요^^ 그래서 본분?을 지키고자 다시 자바로 문제를 풀려고 합니다. 차근차근 처음부터 뭐.. 그렇게 많이 푼 적도 없지만요 각설하고 lv 0의 문제고, 듬성듬성 숫자가 들어가 있는 배열에서 숫자만 골라서 더하는 문제입니다. 처음 생각한 방식은 지금 좀 언어들이 뒤죽박죽 섞여서 맞는진 모르겠는데 대강 생각한 문제 풀이는 trim 같은 메서드로 하나씩 문자를 자르고 거기서 for문과 if 문을 섞어서 타입을 속아내고, 그러고 int면 더하려고 했습니다. 근데 java는 python과 달리 typeof라는 간단한 메서드가 없다는 걸 잠시 잊었었습니다... 그래..
프로그래머스 lv0. 자릿수 더하기 - 2번째 문제를 봤을 때, 했던 생각 1) 하나씩 더해주려면 for loop이 필요하겠군 2)어라 그러면 배열 이어야 하는데. 뭐 배열로 만들어주지 뭐 2) -> 숫자열을 배열로 만들어주려면 먼저 string 배열로 만든 다음, 다시 숫자로 변환해야 합니다. 그래서 var a = [... String(n)]. map(Number) : string배열로 만들고,... String으로 개별 문자들로 만들어줍니다. 예로 String(n)이니까 "123"이렇게 바꿔진 걸... String이 "1", "2", "3"이렇게 바꿔줍니다. 그 후, map(Number)가 숫자로 변경해 줘요! -> [1,2,3] 이렇게요! 그럼 1번을 실행하기 위한 밑작업이 끝났으니 1번 작업을 진행합니다. for 문만 쓰는 거 같아서 do....
프로그래머스 코딩테스트 입문 (짝수는 싫어요) 안녕하세요! 코테를 안 한 지.. 뭐.. 원래도 잘 안 했지만.. 그래서 다시 풀어보기 시작하려고요! 버전은 자바스크립트이고 레벨 0부터 하루에 2개 정도 풀어서 리뷰하려고 합니다! 목표는 올해 프로그래머스 문제 다 풀고 pccp 4급 따는 거예요..! 목표는 높게 잡으라고 했으니..ㅎㅎㅎ 코테 정말 못하는데.. 처음부터 잘하는 사람이 어디 있겠습니까 저 나름대로 열심히 해서 최대한의 설명을 해보도록 하겠습니다. 자 그러면 처음 문제 갑니다. 자! 문제는 정말 간단한 홀수 구하기 문제입니다. 이 문제에서 알아야 할 것은 1) 홀수 구하는 방법 2) 배열에 새로운 내용 더하는 방법 3) 한 번이 아닌 정해진 범위의 숫자를 계속 돌리며 값비교하는 법 1) -> 홀수 구하는 방법은 '%'이 연산자를 쓰면 됩니..