전체 글 465

[ BOJ ] 10988 : 팰린드롬인지 확인하기 ( BRONZE 2 ) / C, Python

문제 알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 이 단어가 팰린드롬인지 아닌지 확인하는 프로그램을 작성하시오. 팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말한다. level, noon은 팰린드롬이고, baekjoon, online, judge는 팰린드롬이 아니다. 입력 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. 출력 첫째 줄에 팰린드롬이면 1, 아니면 0을 출력한다. 풀이 과정 팰린드롬 단어는 앞으로 읽어도, 뒤로 읽어도 똑같다. 뒤로 뒤집은 문장이 원래 문장이랑 똑같은지 판단한다. C #include #include int main(void) { char str[105]; char reverse..

[ 2023-2 Tutoring ] 7주차 문제 풀이 목록

가천대학교 2023-2 튜터링 프로그램 일반전공(프로그래밍4) 반에서 다룬 오늘의 문제 풀이입니다. 2023-11-07 7주차 튜터링 복습 문제 1. [ BOJ ] 1543 : 문서 검색 ( SILVER 5 ) / C, Python https://readytojoin.tistory.com/251 2. [ BOJ ] 10798 : 세로읽기 ( BRONZE 1 ) / C, Python https://readytojoin.tistory.com/252 3. [ BOJ ] 5800 : 성적 통계 ( SILVER 5 ) / C, Python https://readytojoin.tistory.com/253 4. [ BOJ ] 2204 : 도비의 난독증 테스트 ( BRONZE 1 ) / C, Python https:/..

[ AtCoder ] AtCoder Beginner Contest 327 Upsolving

A - ab https://atcoder.jp/contests/abc327/tasks/abc327_a a 와 b 가 인접하면 Yes, 아니면 No 를 출력한다. 예상 티어 : Bronze 4 B - A^A https://atcoder.jp/contests/abc327/tasks/abc327_b 1^1 부터 시작해서 브루트포스로 풀이한다. 파이썬이라서 쉽게 풀린 감이 있음. 예상 티어 : Bronze 1 C - Number Place https://atcoder.jp/contests/abc327/tasks/abc327_c 조건을 이용해 완전 탐색을 진행해주면 된다. 구현량이 살짝 있다. 예상 티어 : Silver 3

[ BOJ ] 1110 : 더하기 사이클 ( BRONZE 1 ) / C, Python

문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 위의 예는 4번만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다. N이 주어졌을 때, N의 사이클의 길이를 구하는 프로그램을 작성하시오. 입력 첫째 ..

[ BOJ ] 15904 : UCPC는 무엇의 약자일까? ( SILVER 5 ) / C, Python

문제 UCPC는 '전국 대학생 프로그래밍 대회 동아리 연합 여름 대회'의 줄임말로 알려져있다. 하지만 이 줄임말이 정확히 어떻게 구성되었는지는 아무도 모른다. UCPC 2018을 준비하던 ntopia는 여러 사람들에게 UCPC가 정확히 무엇의 줄임말인지 물어보았지만, 아무도 정확한 답을 제시해주지 못했다. ntopia가 들은 몇 가지 답을 아래에 적어보았다. Union of Computer Programming Contest club contest Union of Computer Programming contest Club contest Union of Computer Programming contest club Contest Union of Collegiate Programming Contest clu..

[ BOJ ] 27960 : 사격 내기 ( BRONZE 3 ) / C, Python

문제 A, B, C는 올해에도 예비군 훈련을 받으러 간다. 이번 예비군 훈련 과정 중에는 영점 사격이 있으며, 10개의 과녁 각각에 점수를 매겨 맞춘 과녁 점수의 총합을 측정한다. 과녁을 맞혔을 때, 과녁별로 각각 1점 / 2점 / 4점 / 8점 / 16점 / 32점 / 64점 / 128점 / 256점 / 512점을 얻는다. 과녁을 맞히지 않으면 해당 점수를 얻을 수 없으며, 각 과녁은 사람별로 최대 한 번만 맞힐 수 있다. A, B와 C는 영점 사격 점수를 가지고 훈련 이후에 먹을 저녁 내기를 했다. A와 B는 각자 자신들의 총합 사격 점수를 공유했지만, C는 저녁 내기의 상황을 더 쫄깃하게 하고 싶었던지 점수를 공유하지 않고 아래와 같은 말을 했다. "난 너희 둘 중 한 명만 맞힌 표적은 다 맞혔는데..

[ BOJ ] 25206 : 너의 평점은 ( SILVER 5 ) / C, Python

문제 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치훈이의 전공평점을 계산해주는 프로그램을 작성해보자. 전공평점은 전공과목별 (학점 × 과목평점)의 합을 학점의 총합으로 나눈 값이다. 인하대학교 컴퓨터공학과의 등급에 따른 과목평점은 다음 표와 같다. A+ 4.5 A0 4.0 B+ 3.5 B0 3.0 C+ 2.5 C0 2.0 D+ 1.5 D0 1.0 F 0.0 P/F 과목의 경우 등급이 P또는 F로 표시되는데, 등급이 P인 과목은 계산에서 제외해야 한다. 과연 치훈이는 무사히 졸업할 수 있을까? 입력 20줄에 걸쳐 치훈이가 수강한 전공과목의 과목명, 학점, 등급이 공백으로..

[ BOJ ] 10995 : 별 찍기 - 20 ( BRONZE 3 ) / C, Python

문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 차례대로 별을 출력한다. 풀이 과정 예제 출력을 잘 살펴보면, 세로가 N이고 가로가 2N 인 칸에서, (왼쪽 위가 (0, 0) 이라고 가정) 가로 세로 인덱스의 합이 짝수일 때 별을 출력한다. 혹은 별이 N개 찍힌 [* * * * ] 와 [ * * * *] 이 두 개의 문장을 번갈아 출력해도 좋다. C #include int main(void) { int n; scanf("%d", &n); for (int i = 0; i < n; i++) { for (int j = 0; j < 2 * n; j++) { if ((i + j) % 2 == 0) printf("*"); else p..

[ BOJ ] 11966 : 2의 제곱인가? ( BRONZE 3 ) / C, Python

문제 자연수 N이 주어졌을 때, 2의 제곱수면 1을 아니면 0을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 2^30)이 주어진다. 출력 N이 2의 제곱수면 1을 아니면 0을 출력하는 프로그램을 작성하시오. 풀이 과정 1이 될 때 까지 N을 2로 나눴을 때 나머지가 0 외에 발생하지 않는다면 2의 제곱수이다. 2의 제곱수는 2가 여러 번 곱해진 꼴이기에, 2로 나눴을 때 나머지가 0 외에 발생한다면 2의 제곱수가 아니다. C #include int main(void) { int n; scanf("%d", &n); int result = 1; while (n > 1) { if (n % 2 != 0) { result = 0; break; } n /= 2; } printf("%d", re..

[ BOJ ] 3029 : 경고 ( BRONZE 3 ) / C, Python

문제 창영마을에서 정인이의 반란은 실패로 끝났다. 테러리스트로 변신한 정인이는 창영마을에 경고를 하려고 한다. 사실 정인이는 창영마을에서 제일 착한사람이다. 따라서, 사람들을 다치지 않게하려고 한다. 유튜브에서 폭발에 대한 동영상을 찾아보다가, 그는 나트륨을 물에 던지면 폭발한다는 사실을 알게 되었다. 정인이는 창영마을의 중심을 지나는 "강산강" 근처에 숨어있다가, 나트륨을 위의 동영상처럼 물에 던질 것이다. 현재 시간과 정인이가 나트륨을 던질 시간이 주어졌을 때, 정인이가 얼마나 숨어있어야 하는지 구하는 프로그램을 작성하시오. (정인이는 적어도 1초를 기다리며, 많아야 24시간을 기다린다.) 입력 첫째 줄에 현재 시간이 hh:mm:ss 형식으로 주어진다. (시, 분, 초) hh는 0보다 크거나 같고, ..