1번문제일단 첫번째 문제는 요일을 구하는 문제였다. 계속 고민을 해보던중 처음에는 a\*30+b를 해서 끝의 7자리를 구해서 리스트 인덱스에 넣어보는 그런식으로 접근을 해보던중날짜 함수가 따로 있는것을 알게되었고 적용했더니 1차적으로는 통과가 뜨는것이다.그때 당시의 나
4번문제처음에는 match includes등등 별의별 방법을 써보다가 로직까지는 짰는데 중복인자를 다 지워버려서 중복의 경우에 해결이 안되어서 고민을 하다가 포함하는지 가 아닌 각각의 인자자체를 비교해보는 식으로 첫번째의 i번째 인덱스와 두번째의 i번째 인덱스가 같지않
7번문제문제가 간단해 보이면서도 여러가지의 단계가 필요한데1 숫자를 쪼개서 숫자 배열에 담는과정2 뒤집는 과정2번은 배열에 담은후 reverse함수를 쓰면 뒤집어 지지만 1번은숫자를 문자열로 변환후 배열에담은후 다시 숫자형으로 변환하는 과정이 필요하다그래서 일단 n의값
10번 문제이문제는 처음에 접근 자체를 잘못한 문제였다. 작은값만을 추려내기위해 문제에서 요구한 규격을 차마 생각 하지 못했다,처음에 시도한 두개의 코드이다 내림차순 정렬을 한뒤에 맨 끝에 있는값이 제일 작은값이기 때문에 pop함수로 제거하는 방식과 내림차순 정렬 후
13번 문제처음 본 진법 문제였는데 일단 3진법으로 바꾸는걸 검색해봤더니n진법으로 바꿔주는 toString(n) 함수를 쓰면 된다길래 받은 값을 3진법으로 바꿔준후바꿔준 값을 7번문제에서 나온 숫자를 문자열로 변환->split으로 쪼개기->reverse뒤집기 후나온 값
16번 문제16번 문제는 난이도가 중 으로 올라가면서 지문자체도 길어지고 확실히 복잡해진것이 느껴졌다. 일단 문제를 천천히 읽어봤을때 모든 더하는 경우의수를 하나의 배열로 만들어서 제출해야 했고,옛날에 커닝시티 파티퀘스트때 6개의 술통위에 3명이 올라서서 넘어가는 원리
머리아프다19번 문제strings의 i 번째의 n번 인덱스끼리 모아서 sort정렬을 해보는 식으로 했는데 아무리 생각해봐도 추출한 인덱스가 같을 때 사전순으로 정렬하는걸 어떻게 해야할지 계속 고민하다가 이문제는 다른 사람의 풀이를 봤는데 정말 신박하고 좋은 방법이 있어
23번 문제처음에는 abcd...배열을 하나 만들고 ABCD...배열을 만들어서 s의i번째 인덱스의 위치를만들어 놓은 배열에서 위치를 찾아서 위치에 +n의 인덱스를 리턴하게끔 접근을 해보았다.지금 와서 보니 굳이 안쪼개도 됐을것 같긴한데 일단쪼갠후 match로 포함하는
처음에는 n의 약수와 m의 약수를 구한후 match를 쓰려고 했지만 잘 안돼서n의약수 배열 a1 m의 약수 배열 a2를 구하고 a1의 인자들을 for문 돌리면서 a2에 includes함수로 포함이 되면 공약수 배열에 넣은 후 내림차순 정렬후 첫번째 인자를 가리키도록 짰
31번문제처음에는 2중 for문을 돌려서 n까지의 숫자들을 하나 하나 약수를 구한다음 약수의 개수가 2일때 answer를 1씩 증가시키는 쪽으로 짰는데 시간초과가 떠서 소수판별함수를 가져와서 소수가 맞으면 answer를 증가시키는 쪽으로 짰다. 최종코드는32번문제32번
34번문제처음에는 무슨소린가 했는데 결국 내가 n마리를 고를수 있는데 최대 몇종류를 고를수 있냐 가 핵심이였고최댓값이 그냥 폰켓몬의 종류의 값을 찾고 고를수있는 횟수보다 폰켓몬의 종류가 많으면 고를수 있는 최댓값으로 answer를 return 하게끔 설정했다.35번 문
37번 문제처음에 이 문제를 풀고 나서 채점으로 넘겼을때 특정 테스트케이스 하나만 통과를 못해서 몇시간동안 잡다가 새로 지우고천천히 단계를 세분화해서 다시 풀었다. 기본적인 구조자체는 틀린게 없었으나 충돌이 난 부분이0점뒤에 10점일때 10점을 처리하는 방식 등등이 각
40문제중에 있던 문제지만조건이 하나 더 생겼다.중복인 단어를 아예 지워야 하는 조건이 생겼는데,일단 for문으로 중복인 값만 담은 배열을 하나 만들고 다시 for문으로 인덱스를 돌려서 뽑은 배열에 포함하지 않으면다시 빈 배열에 담아서 중복인값을 아예 지웠다. 그다음
음양 더하기true면 양수 false면 음수인걸 이용해서 쉽게 구할수 있다.오늘부터는 최대한 for문 if문 대신 배열함수를 이용해서 풀어보려고 한다.주석 처리된 부분은 for if문으로 푼 부분이다.forEach에 첫번째 v 값이 각각의 인자 두번째 값이 인덱스이다.
문제 자체는 길이비교와 문자열 확인만 해주면 된다. 이번엔 조건 연산자를 사용해보았다.굳이 밑에서 for문으로 돌린이유는 테스트케이스에 2e10같은 지수형 문자열이 있는데 isNaN이 저런 모양을 숫자로 인식해서오답이 나온다고한다. 그래서 각 요소를 돌면서 문자가 끼어
서울에서 김서방찾기이것도 배열의 인자만 확인해서 리턴값을 넣어주면 되는 문제이다. 이제 기존 쓰던for문 대신 filter로"Kim"이란 인자를 찾고 찾은 인덱스를 문제에서 요구하는 방향으로 answer에 리턴해주었다.핸드폰 번호 가리기map을 쓰기 위해 배열로 쪼개주
길이가 홀수일때는 2로나눈후 소숫점을 버린 인덱스 짝수일때는 (2로나눈인덱스-1)+(2로나눈 인덱스) 를 리턴하게끔삼항 연산자로 작성하였다.a라는 변수는 s의 길이가 홀수일때 /2한후 소숫점버린인덱스값, 홀수가 아닐때는 /2-1인덱스+ /2인덱스문자열 내 p와 y 찾기
문제링크 문제가 길지만 요약하자면 질문의 유형이 있고 해당 질문에 대한 답이 1~7까지 있다.질문의 유형배열과 그에 대한 답의 배열이 주어지고 이 사람의 성향을 파악하는 문제이다일단 처음 접근한 방법은각각의 유형에 대한 점수를 모으기 위해 배열을 4개만들고 0을 두개
처음 문제를 접하고나서 전혀 규칙을 모르겠어서 찾아봤더니 단위정사각형에서 대각선을 그었을때 지나가는 사각형의 개수는W+H-(W와H의 최대공약수) 라는 공식이 따로 있다는것을 알았다.최대공약수는 유클리드 호제법이라고 무슨 공식이 따로 있는것 같지만 나는 쓸줄 모르므로 일
일단 처음 접근은 각각의 기능이 완료될때까지 걸리는 일수들을 정리한 배열로 만들었다.100에서 progresses를 빼고 뺀값을 해당 speed로 나누고 소숫점이 나올경우 올림처리를 했다.이렇게 구현하면 예제 1번같은 경우에는 7,3,9 라는 배열이 나온다. 7일 3일
처음에는 조건별로 분기만 잘하면 레벨2치고 되게 쉬운문제라고 생각했는데맨 마지막이 공백일때의 경우를 추가해줘야 하는 점이 포인트였던것같다.일단 모든 문자를 소문자로 바꾸고 answer을 쪼갠후마지막 글자가 공백일때와 아닐때의 함수 두개를 작성했다.공백일때는 pop으로
처음 접근한 로직은 일단 n을 2진수로 변환하고 1의 개수를 구한다.for문으로 1씩 더해서 더한수를 2진법으로변환 -> 1의개수를 세서n을 2진수로 변환한 수의 1의 개수와 같을때 answer에 할당하는 식으로 접근하였다.
가장 작은값을 만드려면 큰수를 작은수랑 곱해야한다고 생각했고배열 두개중 하나는 오름차순정렬 하나는 내림차순 정렬을 한다음 각각의 인덱스들을 곱해준다음 answer에 더했다.
레벨2 이상부터 알아야 하는 dfs와 bfs 문제를 처음 접해보았다. 자료구조를 알아야 접근이 가능하다고 해서 재귀함수,dfs bfs관련 영상들을 찾아본 후 해답코드를 보았다.재귀함수란 스스로를 호출하는 함수를 가리키며 처음에는 이게 무슨코드인지 파악하는데에만 시간을
처음의 접근은 일단 각각의 인자들을 map으로 돌면서 공백을 기준으로 쪼갠다.그 후 쪼갠인자의 0번째인자가 Enter나 Leave 면 문구를 배열에 push하고 Change인 경우에는 닉네임을 변경하는 식으로 접근을 해보았으나해당id와 그 아이디가 사용하는 닉네임을 엮
처음 접근은 ( 의 갯수와 ) 의 갯수가 같을때는 true이고예외를 하나씩 생각해보다가처음 시작이 )로 시작할때도 false일테고그 뒤로 하나씩 생각을 해보다가())처럼앞에 나온 (보다 )의 갯수가 많을 경우에 false로 향하는것을 알게되었고,그것을 기준으로 코드를
개인적으로 자료구조를 몰라서 접근자체를 못하는것보다는 이렇게 어거지로라도 접근이라도 해볼 수 있는 문제를조금 더 좋아하는것같다.처음 접근은 각각 파츠별로 개수를 구해서 'face',3 이런식의 모양으로 만드려고 했다.여기까지가 그 과정인데 구하고나서 이제 이숫자들을 어
처음에는 문제 이해조차 힘들었지만 접근자체가 아예 불가능한 느낌은 아닌것같아서 정말 지저분할수도 있지만 하나하나 차근차근 접근해보았다.일단 m을 쪼개고 for문으로 비교해가면서 소문자로 치환후 다시 그 다음엔 시간을 구했다. (18번째줄)뒤의 시간에서 앞의 시간을 빼주
처음에 접근법이 바로 떠올라서 순탄할줄 알았는데 의외로 디테일한부분에서 조금 헤멨었다.일단 보자마자 올바른괄호 문제처럼 진행중 어떠한 조건을 침범하면 false가 되는 형식으로 진행했다.일단 오픈채팅방 문제에서 배웠던 new Map이 바로 떠올랐다 제시된 skill의
프로그래머스에 레벨 1 새 문제가 생겨서 풀어보았다.number의 배열중 3개로 만들 수 있는 경우의 수는 처음부터 2개 선택후 3번째인자를 하나씩 늘려나가고 끝까지 늘려나가면 2번째 인자를 늘리고 다시 3번째인자를 늘리고....의 반복으로 구할 수 있다.3중포문으로
처음엔 단순히 X의 각 글자들을 돌면서 Y와 일치하면 X와 Y에 삭제하면서 임의 배열에 넣은후에계산이 끝난 후 배열의 숫자들을 다 더해서 값을 구했는데 몇몇 테스트 케이스에서 시간 초과가 떴다.(1차와 2차코드 배열로하냐 문자열로 하냐의 차이일뿐 로직은 동일)그래서
이 문제는 여러모로 풀면서 의미가 깊었던 문제였다.레벨 1의 문제긴 하지만 프로그래머스 레벨 1 문제중 정답률이 가장 낮기도 하고 한창 개발 공부를 시작할 때 유일하게레벨 1 문제중 풀다가 포기했었던 문제였다. (나중에 강해져서 돌아오려고)갑자기 이 문제를 안풀었던게
주어진 수를 차례대로 반복하면서 약수의 개수를 구하고 그 개수가 리미트를 넘으면 지정된 값을 더하고넘지 않으면 그 값을 그대로 더해서 총 합을 구하는 문제이다.약수의 개수를 구하는 함수를 정의하고반복문으로 값을 넣으면서 풀었는데 사실상 약수의 개수를 구하는 함수의 풀이
순차적으로 시간에 대한 변수 값을 증가시키면서 성공 카운트와 health 계산을 해주고 조건문을 달아서 return 해주는 방식으로 짰다.maxHP에 대한 처리, 시간 성공카운트 공격 에 대한 순서만 신경 써주면 크게 어려운 부분은 없는것같다.
순차적인 코드를 짰는데 유효성에서 에러가 나서 filter 변수를 추가했더니 통과되었다.
일단 둘이 만날때까지 경기를 진행시켜야하는데12번은 다음 1번34번은 다음 2번56번은 다음 3번 ...홀수일때는 n+1 /2번짝수일때는 n+1번 이 다음번호이다.그리고 둘이 만나는 경우는 둘의 차가 1이고,차가 1이여도 23 과 같은 경우는 만나지 않으니2로 나눠서
순차적으로 회전을 하면서 각각의 글자를 체크한다.닫힌 괄호가 먼저 나왔는지, 짝이 맞는지,괄호가 닫힐 때 마지막으로 나온 열린 괄호가 닫힌건지 에 대해서만 체크하면 통과가 된다.
각각의 물품에 대한 개수를 오브젝트화 시키고시작 일수로부터 10일치에 세일 합을 오브젝트화 시켜서 반복했다.크게 예외 케이스는 따로 없었다.
입차일 경우에입차 시간을 기록하는 오브젝트와 사용 시간을 등록하는 오브젝트에(최초 입차일 경우) 각각 입차시간과 0을 등록하고,출차일 경우에 입차 시간 기록 오브젝트에서 마지막 입차 시간과 현재 출차 시간을 계산해서 사용 시간을 산출 해내고 사용 시간 오브젝트에 더해주
https://www.acmicpc.net/problem/1090모이는 지점 x1,y1이 정해지고, N의 지점 별로 해당 지점까지의 거리를 구해서, 각 지점별로 최솟값을 구한다.k개를 모을때 마다 지점이 달라질 수 있다는 점 때문에 꽤 고전을 했었다. ex=>
처음 문제를 보고 1차원적으로 풀이를 했었을때는 다음과 같이 작성했다.list를 순회하면서 각 인자마다 N번의 계산을 하는 코드인데,하지만 강의에서 누적합이라는 개념이 배우면서 n번이 아닌, 1번의 계산만 할 수 있는 방법을 설명해줬다.예제 2의 경우에는 처음 코드대