본문 바로가기

별걸다하는 IT/알고리즘 문제풀이

(32)
[C/C++/JAVA 문자열 단어수 문제] 문자열에서 단어가 몇 개인지 세기 (문자열에 공백 포함) 안녕하세요 ㅎㅎ 오늘 오랜만에 아주 기초적인 문자열 문제를 들고 왔습니다. 다양한 문자열 사용법을 연습하고 싶은 꿈나무 개발자들에게 추천! 문제 대소문자와 띄어쓰기만으로 이루어진 영문자열에서 몇 개의 단어가 존재하는지 알려주는 프로그램을 작성하시오 입력 100글자 이내의 영문자 문자열 출력 총 단어의 개수 예시 입력: "Nice to meet you " 출력: 4 입력: " Hello World !" 출력: 3 ANSWER 풀이 단어를 세는 기준을 정해야겠죠? 1. 공백 다음에 문자가 오는 경우 (문자로 시작하는 경우 예외처리 필요) 2. 문자 다음에 공백이 오는 경우 (문자로 끝났을 경우 예외처리 필요) 3. 앞뒤가 문자 또는 공백으로 다를 경우 다 세고 나누기 2! (문자로 시작하거나 끝났을 경우 예..
[COCI 2009/2010기출, 백준 2884번] 알람 시계 문제 풀이 및 해설 (C/C++/Java) 문제 해설 안녕하세요 정말 오랜만에 찾아뵙는 알고리즘 풀이입니다! 오늘은 if문 분류로 되어있는 문제로 가져왔어요. 출처: COCI 2009/2010년도 7th round 1번 문항 출처: 백준 2884번 정답률: 40.588% [2884번] 알람 시계 (SPAVANAC) 문제 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, 조금 더 자려는 마음은 그 어떤 것도 없앨 수 없었다. 이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해주었다. 바로 "45분 일찍 알람 설정하기"이다. 이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어..
[ACM ICPC 기출, 백준 2292번] 벌집 문제 풀이 및 해설 (C++/Java 문제 풀기~) ACM-ICPC 서울 2004 online round 문제 B번 백준 2292번 (번역본) 분류 : 규칙 찾기 [2292번] 벌집 문제 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지 (시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들어 13까지는 3개 58까지는 5개를 지난다. 조건 시간 제한: 2초 메모리 제한: 128MB 정답 비율 56.56% 입출력 입력: 첫째 줄에 N(1 12개 4 layser는 20~37 -> 18개 오 규칙이 보여요 ㅎㅎ ..
[COCI 2012/2013 기출, 백준 5622번] 다이얼 문제 해설 및 C/C++,자바 풀이 출처: COCI 2012/2013 출처: 백준 알고리즘 (번역본) 정답률: 58.1% 분류: 문자열 사용하기 5622번 다이얼 문제 문제 상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다. 전화를 걸고 싶은 번호가 있다면 숫자 하나를 누른 다음에 금속 판이 있는 곳까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고, 다음 숫자를 누르려면 다이얼을 처음 위치에서 다시 돌려야 한다. 숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해서는 1초씩 더 걸린다. 상근이의 할머니는 전화번호를 각 숫자에 해당하는 문자로 외운다. 즉 어떤 단어를 걸 때, 각 알파벳에 해당하는 숫자를 걸면 된..
[COCI 2009/2010기출, 백준 알고리즘] FILIP, 2908번 상수 문제 해설 및 문제 풀이(C/C++/자바) 안녕하세요! ㅎㅎ 오늘도 시작하는 알고리즘 풀이입니다. 고럼 문제를 볼까요? 출처: COCI 2009/2010년도 1번 문항 FILIP 출처: 백준 2908번 (번역본) 난이도: 하 분류: 문자열 사용하기 백준 사이트에서는 상수라는 제목으로 올라와 있는 문제입니다! 정답률이 매우 높아요 ㅎㅎ 정답 비율: 69.8% [2908번] 상수 여기서 문제 이름 상수는 숫자가 아니라 동생 이름이라는거..ㅎㅎㅎ 실제 문제에서도 동생이름이 FILIP인데 문제 이름이 FILIP이예요 ㅎㅎ 문제 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다ㅡㅇㅁ에 크기..
[백준 문자열 사용하기 문제] 1157번 단어 공부 문제 풀이 및 해설 (C언어, Java언어) 오랜만에 다시 이어가는 알고리즘 문제 풀기~~~! 분류: 문자열 사용하기 출처: 백준 정답률: 37% [1157] 단어 공부 문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 조건 시간 제한: 2초, 메모리 제한 128MB 입출력 입력: 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력: 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. 예제 입력1 예제 출력1 Mississipi ? zZa Z z Z baaa A 같이 문제를 풀어..
[ACM ICPC 2011 기출, 백준 2675번] 문자열 반복 (repeating character) 문제 해설 및 풀이 (Java, C++) 다양한 풀이 방법 오늘도 안녕하세요~~ 이어서 다음 문제를 볼까요? 출처: 백준 알고리즘 2675번, ACM-ICPC 2011년 뉴욕 regional 기출 5800번 문제 분류: 문자열 사용하기 ACM-ICPC에서는 아래 사진과 같이 영어로 출제되었습니다. 정답률: 55.7%(백준 알고리즘 기준) 62.8%(ACM ICPC 기준) 문자열 반복, Repeating Charater 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCD..
[C, C++, Java 백준 알고리즘] 11654번 아스키 코드, 10809번 알파벳 찾기 문제 설명 및 풀이! 안녕하세요 오늘도 또 쓰는 알고리즘 파트입니다. 오늘 풀 문제를 보니까 프로그래밍 기초 1학년 수업을 들었던 분이면 한번쯤은 풀어보고 넘어갔을 법한 아스키 코드 출력문제더라고요 ㅎㅎ 아마 코드가 길어지지는 않을 듯 하여, 다음 문제인 10809번 알파벳 찾기 문제와 엮어서 포스팅을 작성해볼까 합니다. 첫번째 문제 정답 비율: 83.2% (역시나 압도적인 정답 비율..ㅎㅎㅎ) 문제 분류: 문자열 사용하기 [11654번] 아스키 코드 문제 알파벳 소문자, 대문자, 숫자 0-9 중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. 입출력 입력: 알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다. 출력: 입력으로 주어진 글자의 아스키 코드 값을 출력한다. 예제..