[백준 / BOJ] 18870번 좌표 압축 (Python C++)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2024. 3. 17. 22:29[백준 / BOJ] 18870번 좌표 압축 (Python C++)

문제 링크 : 18870번: 좌표 압축 (acmicpc.net) 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표 Xj의 개수와 같아야 한다. X1, X2, ..., XN에 www.acmicpc.net 🖥️ 시작하며 문제를 대충 해석하면 어려울 수 있는 문제다. 찬찬히 뜯어보자. 좌표 압축을 수행하려고 하는데, 조건은 아래와 같다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표 Xj의 개수와 같아야 한다. 주어진 예시로 보자. 2 4 -10 4 -9 가 입력으로 주어진다. Xi 를 좌표 압축한 결과인 X'i 의 값..

[백준 / BOJ] 2563번 색종이 (Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2024. 3. 16. 13:00[백준 / BOJ] 2563번 색종이 (Python)

문제 링크 : 2563번: 색종이 (acmicpc.net) 2563번: 색종이 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변 www.acmicpc.net 🖥️ 시작하며 처음의 우여곡절 본인은 처음에 수학적으로 접근했다. 예시 문제를 간단하게 분석해보니 겹치는 부분이 아래와 같은 규칙을 따랐다. 가로축에서, 입력받은 x 값이 더 작은 곳에 +10 을 한 뒤 더 큰 x 값을 뺀다. 예시에서는 3 + 10 - 5 다. 세로축에서도 똑같이 진행한다. 예시에서는 2 + 10 - 7 이다. 그렇게 생각하고 문제를 풀다보니 웬걸, 내가 짠 로직은 인접한 두 리스트만 비교해서 중..

[백준 / BOJ] 2566번 최댓값 (Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2024. 3. 15. 17:17[백준 / BOJ] 2566번 최댓값 (Python)

문제 링크 : 2566번: 최댓값 (acmicpc.net) 2566번: 최댓값 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. www.acmicpc.net 🖥️ 시작하며 2차원 배열의 최댓값과 그 최댓값의 인덱스를 찾는 문제다. 아직도 C언어가 익숙한 나는 두 가지 방법으로 풀어보았다. 일반적인 방법 # 일반적인 방법, C언어 식 def findMaxIndex_C(): maxNum = float("-inf") maxRow, maxCol = 0, 0 for i in range(9): tempArr = list(map(int, input().split())) for j in ra..

[백준 / BOJ] 10998번 팰린드롬인지 확인하기 (Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2024. 3. 13. 18:59[백준 / BOJ] 10998번 팰린드롬인지 확인하기 (Python)

문제 링크 : 10988번: 팰린드롬인지 확인하기 (acmicpc.net) 10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 🖥️ 시작하며 팰린드롬은 앞으로 읽었을 때와 뒤로 읽었을 때 같은 문자라 한다. 파이썬에서는 슬라이싱 기법을 통해 간단하게 반전시키는 문법이 있으니 이를 활용하자. import sys input = sys.stdin.readline if __name__ == "__main__": text = input().rstrip() print(1) if text == text[::-1] else print(0) text[::-1]을 사용하면 reverse..

[백준 / BOJ] 25304번 영수증 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 9. 14. 20:39[백준 / BOJ] 25304번 영수증 (C++, Python)

링크 : https://www.acmicpc.net/problem/25304 25304번: 영수증 준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것 www.acmicpc.net 문제 문제 풀이 차근차근 문제에서 주어진 대로 따라가면 된다. 삼항 연산자도 섞어보았다. 코드 전문 C++ HTML 삽입 미리보기할 수 없는 소스 Python HTML 삽입 미리보기할 수 없는 소스 소감

[백준 / BOJ] 2480번 주사위 세개 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 9. 13. 17:59[백준 / BOJ] 2480번 주사위 세개 (C++, Python)

링크 : https://www.acmicpc.net/problem/2480 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개 www.acmicpc.net 문제 문제 풀이 주사위가 3개만 주어졌으므로 하나하나 조건을 걸어 풀어주면 좋은 문제다. 코드 전문 C++ HTML 삽입 미리보기할 수 없는 소스 Python HTML 삽입 미리보기할 수 없는 소스 소감

[백준 / BOJ] 2525번 오븐 시계 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 9. 13. 17:40[백준 / BOJ] 2525번 오븐 시계 (C++, Python)

링크 : https://www.acmicpc.net/problem/2525 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net 문제 문제 풀이 간단한 연산 문제다. A의 고려사항은 i) 분 단위가 60분을 넘어갔는가? 와 ii) 시간이 24를 넘겼는가? 이다. 그래서 3번째로 입력받은 값인 var가 분 단위이므로 i) 조건을 위해 B와 더해준 후 60으로 나눠 몫만 남기고, ii) 조건을 위해 24로 나눈 나머지를 다시금 A에 저장하도록 했다. B의 고려사항은 i) 60분을 넘어갔는가? 이므로 B와 ..

[백준 / BOJ] 1330번 두 수 비교하기 (C++, Python) (부제 : 삼항 연산자)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 9. 5. 18:56[백준 / BOJ] 1330번 두 수 비교하기 (C++, Python) (부제 : 삼항 연산자)

링크 : https://www.acmicpc.net/problem/1330 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net 문제 문제 풀이 정석은 그냥 if-else문을 사용하면 되지만 삼항연산자를 사용해 보았다. C++과 파이썬의 삼항 연산자 틀이 조금은 달라 따로 풀이를 첨부한다. C++ 상세 풀이 더보기 C++에서의 삼항 연산자 규칙은 다음과 같다. (조건식) ? [참일 때 실행] : [거짓일 때 실행] 즉 풀이는 아래와 같아진다. ((A > B) ? ">" : ((A B else print("") 실행 거짓일 때 : print("

[백준 / BOJ] 25083번 새싹 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 9. 4. 18:44[백준 / BOJ] 25083번 새싹 (C++, Python)

링크 : https://www.acmicpc.net/problem/25083 25083번: 새싹 아래 예제와 같이 새싹을 출력하시오. www.acmicpc.net 문제 문제 풀이 10171 고양이 문제와 같이 이스케이프 시퀀스를 알아야 하는 문제다. 개념을 알기만 하면 쉽게 풀린다. 코드 전문 C++ HTML 삽입 미리보기할 수 없는 소스 Python HTML 삽입 미리보기할 수 없는 소스 소감

[백준 / BOJ] 10172번 개 (C++, Python)
[백준 / BOJ] 10171번 고양이 (C++, Python) (부제 : 이스케이프 시퀀스)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 9. 4. 18:32[백준 / BOJ] 10171번 고양이 (C++, Python) (부제 : 이스케이프 시퀀스)

링크 : https://www.acmicpc.net/problem/10171 10171번: 고양이 아래 예제와 같이 고양이를 출력하시오. www.acmicpc.net 문제 문제 풀이 역슬래시를 쓸 때에는 그 앞에 역슬래시를 하나 더 써야 한다는 사실을 알아야 하는 문제다. 이를 이스케이프 시퀀스라고 한다. 위 사진에 있는 문자들은 모두 특별한 기능을 하는 문자이기 때문에 출력하려면 앞에 \을 붙여야 한다. C++의 경우 printf로 출력해보았다. 코드 전문 C++ HTML 삽입 미리보기할 수 없는 소스 Python HTML 삽입 미리보기할 수 없는 소스 소감

[백준 / BOJ] 2588번 곱셈 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 9. 4. 18:29[백준 / BOJ] 2588번 곱셈 (C++, Python)

링크 : https://www.acmicpc.net/problem/2588 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net 문제 문제 풀이 C++은 수학적으로, 파이썬은 string으로 입력받은 후 인덱싱을 이용해 해결했다. 코드 전문 C++ HTML 삽입 미리보기할 수 없는 소스 Python HTML 삽입 미리보기할 수 없는 소스 소감 다시 풀어보니 파이썬은 인덱싱이 더 편한 것 같아 활용해보았다.

image