문제 링크 처음에는 배열로 하나하나 뒤집어서 저장하는걸 생각했는데, 관련 함수가 있지 않나 찾아보다가 reverse()라는 함수를 찾아서 적용해보았다.한줄 요약 버전위 코드가 처음에 생각했던 my_string길이 만큼 반복문을 실행시켜서 String 변수에 하나하나 저
문제 링크 단순하게 String 문자열인 answer에 n만큼 repeat()함수를 이용해서 n번 만큼 문자열을 이어붙인걸 더하는 방식으로 했는데, 이런 문자열을 이어붙이는 방법은 효율이 안좋다...ㅠㅠ 그걸 풀땐 몰랐지.....해당 문자열을 count번 이어붙인 새
문제 링크 문자열의 길이만큼 for문을 돌려서 대문자인지 소문자인지 구분하고, 대문자 소문자를 변환하는 메서드를 이용해 대소문자로 변환했다.문자열을 이어붙이면 성능상 좋지 않다고 해서 아래의 코드로 바꿔보았다.
문제 링크
먼저 스택을 정의해주고, 입력받을 문자열 개수만큼 for문을 돌린다.for문안에 if문을 이용해서 명령어를 구분하고, 그에 맞게 명령어를 처리한다.특히 push는 push 5와 같이 push 이후에 정수로 스택에 넣을 값을 지정해주기 때문에, startsWith() 메

[백준] 큐 - 10845

\[백준] 괄호 - 9012push() : 스택에 데이터를 추가하는 메서드pop() : 스택에 들어있는 데이터를 삭제하는 메서드peek() : 데이터는 삭제하지 않고 스택 맨 위에 있는 값을 확인하는 메서드size() : 현재 스택에 저장되어 있는 요소의 개수를 알려주
문제 링크
문제 링크

문제 링크 이 문제는 각 인덱스마다 값을 더하는 건데, 여기서 구간마다 합을 매번 계산하면 모든 계산을 시간 안에 끝낼 수 없다. 이럴 때 구간합을 이용하는 것이다!Si = Si-1 + Ai예를 들어 A3까지의 합배열을 구하는 것이라면S3 = S2 + A3 → S3 =

문제 링크 이 문제도 1차원 구간 합배열과 마찬가지로 질의마다 합을 구하면 시간초과로 통과를 못한다.구간 합배열을 2차원으로도 어떻게 작성하는지 알아보자.AX는 원본 배열을 의미하며,DX는 원본 배열 A의 (0,0)부터 (X,Y)까지의 사각형 영역 안에 있는 수의 합

문제 링크 처음에 문제 이해를 못해서 많이 애먹었다...첫번째 줄에 입력되는 첫번째 숫자N은 2번째 줄의 숫자의 갯수고, 그 다음 입력되는 M은 나누어 떨어지는 수(나눌 수)를 의미한다.그리고 합이 M으로 나누어 떨어지는 (i,j)쌍의 개수를 구하라고 하는데, 예시의

[Silver V] 수들의 합 5 - 2018 문제 링크 문제 설명 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지

문제 링크 투포인터 + 배열 정렬을 쓰는 문제이다.각각의 재료는 한번쓰면 없어진다고 생각해야한다.i의 값을 1 증가시킨다. -> 더 큰 값을 찾아야하므로!count값을 1 증가시키고, i는 1증가, j는 1 감소 시킨다.j의 값을 1 감소시킨다. -> 더 작은 값을 찾

문제 링크 N개의 수 중에서 어떤 수가 다른 수 두 개의 합을 나타내는 갯수를 찾는것이다.이것도 정렬 + 투포인트 알고리즘을 사용한다.단, 정렬된 데이터에서 자기자신을 좋은 수 만들기에 포함하면 안되므로 예외처리해줘야한다!서로 다른 두수의 값인지 체크 후 서로 다른 값

[Silver II] DNA 비밀번호 - 12891 문제 링크 문제 설명 평소에 문자열을 가지고 노는 것을 좋아하는 민호는 DNA 문자열을 알게 되었다. DNA 문자열은 모든 문자열에 등장하는 문자가 {‘A’, ‘C’, ‘G’, ‘T’} 인 문자열을 말한다. 예를