Hello World!를 출력하시오.입력없음Hello World!를 출력하시오.Hello World!
문제 ACM-ICPC 인터넷 예선, Regional, 그리고 World Finals까지 이미 2회씩 진출해버린 kriii는 미련을 버리지 못하고 왠지 모르게 올해에도 파주 World Finals 준비 캠프에 참여했다. 대회를 뜰 줄 모르는 지박령 kriii를 위해서
아래 예제와 같이 고양이를 출력하시오.없음고양이를 출력한다.처음에는 그냥 문자열로만 결합하면 되는줄 알았는데 택도 없었다..계속 틀렸다고 나와서 이것저것 찾아보니 특수문자를 처리하는 방법이 따로 있었다.역슬래시 '\\' 나 백틱 '\`'를 이용해서 처리하는 방법이 있었
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)첫째 줄에 A+B를 출력한다.1 23입력값을 어떻게 받아야 하는것인지 잘 몰라서 결국 구글링의 도움을 받았다..노드에서는 입
준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때, 놀람을 표현하는 프로그램을 작성하시오.첫째 줄에 준하가 가입하려고 하는
두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)첫째 줄에 A-B를 출력한다.3 211000번 풀이와 비슷하게 입력값을 받아줘서 풀면 된다. split메서드를 통하여 배열로
두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오.첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)첫째 줄에 A×B를 출력한다.1 223 412두 수를 받아서, split 메서드를 통해서 ' ' 기준으로 나누어줬다.받은 두
두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답이다.1 30.333333
두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A\*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 두 자연수 A와 B가 주어진다. (1 ≤ A, B ≤ 10,000)첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A\*B, 넷째 줄에
준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때, 놀람을 표현하는 프로그램을 작성하시오.첫째 줄에 준하가 가입하려고 하는
ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다.불교 국가인 태국은 불멸기원(佛滅紀元), 즉 석가모니가 열반한 해를 기준으
(A+B)%C는 ((A%C) + (B%C))%C 와 같을까?(A×B)%C는 ((A%C) × (B%C))%C 와 같을까?세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오.첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B,
(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘
아래 예제와 같이 새싹을 출력하시오.입력은 없다.새싹을 출력한다.지금까지 풀었던 콘솔출력 문제들과 비슷해보이지만, 영어나 숫자같이 일반 문자들도 일일히 '\\'처리를 해줄 것이 아니라 특수문자들과 합쳐서 '\\' 처리를 해주어야한다!
시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.시
연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다.예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이
흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다.업로드중..예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수
상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다.상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다.이런 상근이를 불쌍하게 보던
KOI 전자에서는 건강에 좋고 맛있는 훈제오리구이 요리를 간편하게 만드는 인공지능 오븐을 개발하려고 한다. 인공지능 오븐을 사용하는 방법은 적당한 양의 오리 훈제 재료를 인공지능 오븐에 넣으면 된다. 그러면 인공지능 오븐은 오븐구이가 끝나는 시간을 분 단위로 자동적으로
1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.첫째 줄에 테스트 케이스의 개수 T가 주어진다.각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)각 테스트 케이스마다 A+B를 출
n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다.1부터 n까지 합을 출력한다.36간단히 구구단을 출력하는 문제였다.처음에는 습관적으로 input0을 숫자형으로 바꿔줘서 틀렸다고 나왔었다..ㅠ 입
본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다.C++을 사용하고 있고 cin/cout을 사용하고자 한다면, cin.tie(NULL)과 sync_with_stdio(fa
자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다.첫째 줄부터 N번째 줄 까지 차례대로 출력한다.512345이렇게 제출을 하니 시간초과가 나왔다. 알아보니 입력값이 최대
자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다.첫째 줄부터 N번째 줄 까지 차례대로 출력한다.5543211부터 5까지 반복하는걸 거꾸로 생각해서 숫자를 빼주는거로 생
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.첫째 줄에 테스트 케이스의 개수 T가 주어진다.각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)각 테스트 케이스마다 "Case
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.첫째 줄에 테스트 케이스의 개수 T가 주어진다.각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)각 테스트 케이스마다 "Case
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.5반복문의 대표적인 별찍기 문제다! '\*' 을 변수에 담아서 출력하면 된다.
정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000)둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.입력은 여러 개의 테스트 케이스로 이루어져 있다.각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)입력의 마지막에는 0 두 개가
문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.5처음에 되게 어렵게 생각
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.예를 들어, 서로 다른 9개의 자연수3, 29, 38, 12, 57, 74, 40, 85, 61이 주어지면, 이들 중 최댓값은 85이고, 이 값은
문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지
문제 세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오. 예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 ×
문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다."OOXXOXXOOO"의 점수는 1+2+
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.첫째 줄에는 테스트 케이스의 개수 C가 주어진다.둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이
백준 1110번
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 첫째 줄에 1,000
틀려서 다시 풀어서 올리기
알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오.알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다.입력으로 주어진 글자의 아스키 코드 값을 출력한다.A65C67048957a97z
N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.입력으로 주어진 숫자 N개의 합을 출력한다.11155432115257000
알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳
문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다.
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다
영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열
상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다.상수는 수를 다
문제 상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다. 전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고, 다음 숫자를 누르려면 다이얼
문제 링크처음에 위처럼 제출했다가 틀렸다고 나왔다 알아보니 숫자가 엄청 큰 경우에는 BigInt 자료형을 사용해야한다. 그리고 바로 출력해주면 n이 붙어서 나오기때문에 toString() 메서드를 사용해서 출력해야한다.
문제 링크아예 i를 지정해줌으로써 하나씩 값을 비교해보는 방법이다. 이런 경우 시간 복잡도가 최대 O(n)이어서 시간 초과가 발생하지 않는다.
백준 올림픽 문제를 풀다가 Map 객체를 이용해서 문제를 풀었는데, 값이 같을때 등수를 어떤식으로 매겨야하는 것인지 정리 해둘 필요가 있었다.등수는 자기보다 높은 점수를 가진 나라의 갯수 + 1 이다.1과 5가 1등, value가 같은 2와 4는 각각 3등, 6이 5등
문제 링크K번째로 지워지는 수를 구하기 위해 따로 count 변수를 선언하고 카운트 해주었다.
문제 링크i + board를 했을때 보드판을 넘는지 확인을 하는게 중요했다.각 꼭지점을 완전 탐색으로 돌면서 한개씩 확인해 준후 각 꼭지점의 차이가 같으면서 숫자들이 같다면 maxWidth 배열에 그 넓이들을 각각 넣어주었다.
문제 링크100 의 자리와 10의 자리, 1의자리의 앞자리가 4나 9일때 예외 처리를 신경써주면 쉽게 풀 수 있는 문제였다.
문제 풀이테케는 다 통과하는데 시간초과가 떠버렸다..
문제 풀이여기서 생각해야 할부분은 입력이 ::1 나 1:: 으로 주어졌을시에 answer 배열에 ""이 연속적으로 2개가 담긴다는 것이다. 그렇기 때문에 reduceCount라는 변수를 설정해주고 이것이 2가 된다면 연속적으로 "" 이 2개가 연속적으로 담겼다는 뜻이므
문제 링크거진 하드코딩으로 풀었는데, 모든 테스트케이스는 통과하는데 제출하면 틀리다고한다.. 거진 2-3시간을 작성했던 코드라 아까워서 일단 저장해놓기 위해 올린다.
문제 링크이 문제에서는 단순히 끝 테두리만 배열을 돌리는게 아니라 그 안에 포함된 작은 배열들도 회전을 시키는 문제이다.그렇기 때문에 rotateNum 이라는 변수를 통해서 크게 회전을 한번할때, 안쪽 배열들도 rotateNum만큼 회전을 해야한다.예를 들어서 4 x
문제 링크대표적인 그리디 알고리즘 문제이다.각 화폐의 단위는 서로 배수 관계 에 해당한다.가장 큰 화폐부터 나누어주면서, 해당 값들을 정답에 누적시켜주면 된다왜 가장 큰 화폐부터 나누어주면 되는가 ? 위에서 각 화폐의 단위는 서로 배수 관계에 있다고 했는데, 이말인 즉
문제 링크이 풀이가 시간복잡도가 O(n)이어서 더 효율적인 풀이 인것같다.summary 라는 변수에 지금까지의 값을 더해주면서, 또 answer에 summary 를 더해주면 된다.
문제 링크일단 A 가 B보다 커졌다면, 계속 나눔, 1빼기 연산을 수행해주었음에도 불구하고 정답이 도출이 안됐다는 뜻이므로 -1을 출력해준다.그리고 문자열로 바꾸어줘서 맨마지막 문자열이 "1"이라면 1을 없애주고, 그게 아니라면 2로 나누어준다.
문제 링크이게 왜 성립하는지는 모르겠다.만약 current가 19까지 더해진 상태이고, sum이 190인상태에서 current가 늘어나서 20을 또 더해주면 210인데,210은 N과 똑같은 숫자는 아닌데 그냥 current-1을 해주어서 해결하는 방법이 와닿지는 않는다
문제 링크역시나 2중 반복문을 돌면 시간초과일거 같은데.. 라고 생각하면서 일단 코드를 짜보았지만 역시나였다.일단 2중 반복문을 sort 메서드로 정렬을 해준후 단일 반복문을 도는 방향으로 고쳐주었다.그리고 input.shift()부분이 문제였는데, input.shif
문제 풀이
문제 링크여기서 저 arrowArr가 핵심부분이다.만약 저 arrowArr가 존재하지 않는다면, 2중 반복문을 돌면서 시간복잡도는 O(n^2)가 되는데, 저 arrowArr을 통해 O(n)으로 만들어줄수 있다.화살을 쐈을때 0보다 크다면, 이전에 이미 화살이 발사가 되
문제 링크반복문을 돌면서 해당 숫자까지의 피보나치 숫자를 담은 배열을 만들어준다.그 후에 해당 숫자에서 피보나치 배열의 마지막값(해당 피보나치 배열에서 가장 큰수) 를 빼줬을때 0보다 크다면 해당 값을 반복문안의 배열에 넣어준다.여기서 숫자가 10억이어서 시간복잡도를
문제 링크만약 ball이 15이고 team이 5라면, 1 2 3 4 5만약 ball이 16이고 team이 5라면, 1 2 3 4 6만약 ball이 17이고 team이 5라면, 1 2 3 5 6가 된다.즉 공의 갯수 차이는 team 갯수이거나, team 에서 1인 뺀 값
문제 링크각 문자를 반복문을 돌면서, 만약 회문이 아닌 경우에 isAlikePalindrome 함수가 실행된다.해당 함수는 그 문자열을 split해서 또 양옆을 반복문을 돌면서, 다른부분을 찾을때까지 반복문을 돈다.문자열을 서로 slice해서 합쳐준 후, 그것이 또 회
문제 링크여기서 초기에 start를 1이 아니라, arr0으로 했는데 틀리다고 나왔다.어차피 예산은 arr 배열 내의 범위 안에 들어가있는 수에서 정해지는게 아닌건가? 싶었는데, 그게 아니었다. 저 배열안에 있는 값들은 상관이 없고, 저 한도가 중요한것이기 때문에 1로
문제 링크주석 설명에 대한 부분이 헷갈렸었다.만들어진 랜선의 총 갯수가 조건보다 적다면, 랜선을 더 많이 만들어야하는것이다.그렇다면 이 랜선의 갯수를 더 늘려주어야 하므로 end 부분을 줄여주어서 mid 값이 더 줄어들도록 해야한다.그게 아니라면, start에 mid
문제 링크이 문제도 랜선 자르기 문제와 비슷하게, 해당 조건에 맞는 총합 (sum)값을 구해주고,나무 길이를 조절해주어서 정답을 찾는 문제이다.이진탐색 문제의 풀이 유형이 뭔가 거진 비슷해보인디. 아직 더 많은 문제들을 접하지 못해서 그런것 같다.
문제 링크이해하는데에 시간이 오래걸렸다.일단 reverse()를 왜 해주어야하는지부터 이해가 안갔는데, 이 문제에서는 주어진 배열 안에서 내림차순으로 배치를 해주고 싶어한다.그렇기때문에 정렬을 해주는것이 아니고 원래 배열 상태를 유지하면서 내림차순으로 정렬을 해주고 싶
문제 링크여기서 visited는 방문처리 체크를 위한 배열selected는 선택한 원소를 직접 넣어주기 위한 배열이다.여기서 depth는 트리구조로 생각해보면 깊이를 의미하는것인데, 숫자로 따져보면 1 2 3 일때 깊이가 0이면 1, 1일때 2, 2일때 3이 된다.여