코딩도장

Printing OXs

앞의 문제들 중 비슷한 알고리즘이 있던 것 같지만, 같은 건 없다고 생각해서 올립니다. 문제를 푸는데 많은 approach가 있을 듯 싶습니다. 이 문제의 핵심은 비트 연산을 얼마나 잘 이해하고 있냐이기 때문에 비트 연산으로 풀어주세요.

input은 int n을 입력 받아 첫번째 row는 (n-1)의 O와 X, 두번째 row는 (n-2)의 O와 XX, 세번째 row는 (n-3)의 0와 XXX... n번째 row는 n의 X을 출력하시오.

입력 예시: 6

출력 예시:


OOOOOX

OOOOXX

OOOXXX

OOXXXX

OXXXXX

XXXXXX


비트연산 bit control
(追記) (追記ここまで)
댓글 작성은 로그인이 필요합니다.
비트연산은 0,1의 이진수에서만 가능한 것으로 알고 있는데요 비트연산으로 이 문제를 푸는 것이 가능한가요? 풀이를 봐도 비트로 해결한 건 없어보여서 질문 남깁니다 - myyh2357, 2018年10月02日 20:12 M D
+1 # python n = int(input()) tmp = 2**n-1 for i in range(n): print(bin(tmp<<(i+1))[-n:].replace('1','O').replace('0','X')) - Creator, 2018年10月03日 16:08 M D
파이썬에서 이진수의 1을 'O' 0을 "X"로 반환하고 비트연산 '시프트'를 이요하면 풀 수 있습니다. https://dojang.io/mod/page/view.php?id=2460 코딩도장 비트연산 개념 링크 확인 부탁 드려요 - 김보라, 2022年07月13日 15:53 M D
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.

284개의 풀이가 있습니다. 29 / 29 Page

number = input("숫자입력 : ")
n = int(number)
O_numb = n
X_numb = 0
for i in range(n):
 O_numb -= 1
 X_numb += 1
 if O_numb >= 0 and X_numb <= n:
 print('O'*O_numb + 'X'*X_numb)
 else:
 break

2024年04月08日 14:59

리리

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
n, getBin = int(input('입력:')), lambda x: f'{int('1'*n,2) & int('1'*n,2) << x :0{n}b}'
_ = [print(getBin(i+1).replace('1','O').replace('0','X')) for i in range(n)]
> 입력: 6
> OOOOOX
> OOOOXX
> OOOXXX
> OOXXXX
> OXXXXX
> XXXXXX
댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
def ox_row():
 n = int(input("Enter the integer : "))
 for i in range(n):
 j = n-i-1
 print("O"*j+"X"*i)

2024年12月07日 12:49

Orange

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
n = int(input("숫자를 입력하시오:"))
for i in range(1,n+1):
 m = (1<<i)-1
 for j in range(n-1,-1,-1):
 if m & (1<<j):
 print("X",end="")
 else:
 print("O",end="")
 print()

2025年12月13日 17:30

k

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.

풀이 작성

(注記) 풀이작성 안내
  • 본문에 코드를 삽입할 경우 에디터 우측 상단의 "코드삽입" 버튼을 이용 해 주세요.
  • 마크다운 문법으로 본문을 작성 해 주세요.
  • 풀이를 읽는 사람들을 위하여 풀이에 대한 설명도 부탁드려요. (아이디어나 사용한 알고리즘 또는 참고한 자료등)
  • 작성한 풀이는 다른 사람(빨간띠 이상)에 의해서 내용이 개선될 수 있습니다.
풀이 작성은 로그인이 필요합니다.
목록으로
코딩도장

코딩도장은 프로그래밍 문제풀이를 통해서 코딩 실력을 수련(Practice)하는 곳입니다.

비트연산 x 1
bit control x 1

언어별 풀이 현황
전 체 x 284
python x 204
java x 26
cs x 5
php x 5
objectivec x 2
ruby x 1
기 타 x 31
cpp x 8
javascript x 2
코딩도장 © 2014 · 문의 [email protected]
피드백 · 개인정보취급방침 · RSS

AltStyle によって変換されたページ (->オリジナル) /